Tarantool development patches archive
 help / color / mirror / Atom feed
From: Alexander Turenko <alexander.turenko@tarantool.org>
To: Vladislav Shpilevoy <v.shpilevoy@tarantool.org>
Cc: tarantool-patches@freelists.org, Kirill Yukhin <kyukhin@tarantool.org>
Subject: [tarantool-patches] Re: [PATCH 1/1] test: fix flaky swim/errinj.test.lua
Date: Wed, 31 Jul 2019 01:44:32 +0300	[thread overview]
Message-ID: <20190730224431.gwdxhbgrftrdmlgb@tkn_work_nb> (raw)
In-Reply-To: <370fd137fece7c2ec40108893a63dec35aaf9b85.1564515238.git.v.shpilevoy@tarantool.org>

LGTM. Kirill, please, proceed.

On Tue, Jul 30, 2019 at 09:34:35PM +0200, Vladislav Shpilevoy wrote:
> In one place that test sends a packet and expects that it has
> arrived two lines below. Under high load it may take more time.
> The patch makes the test explicitly wait for the packet arrival.
> 
> Closes #4392
> ---
> Issue: https://github.com/tarantool/tarantool/issues/4392
> Branch: https://github.com/tarantool/tarantool/tree/gerold103/gh-4392-swim-flaky-test
> 
>  test/swim/errinj.result   | 3 +++
>  test/swim/errinj.test.lua | 1 +
>  2 files changed, 4 insertions(+)
> 
> diff --git a/test/swim/errinj.result b/test/swim/errinj.result
> index efeab87a8..cf26b0a4a 100644
> --- a/test/swim/errinj.result
> +++ b/test/swim/errinj.result
> @@ -60,6 +60,9 @@ errinj.set("ERRINJ_SWIM_FD_ONLY", false)
>  ---
>  - ok
>  ...
> +while s1_view:incarnation().version ~= 2 do fiber.sleep(0.01) end
> +---
> +...
>  s1_view:payload()
>  ---
>  - null
> diff --git a/test/swim/errinj.test.lua b/test/swim/errinj.test.lua
> index cf0cb2dd4..6c73f9f3d 100644
> --- a/test/swim/errinj.test.lua
> +++ b/test/swim/errinj.test.lua
> @@ -26,6 +26,7 @@ s1:self():incarnation()
>  errinj.set("ERRINJ_SWIM_FD_ONLY", true)
>  s1:probe_member(s2:self():uri())
>  errinj.set("ERRINJ_SWIM_FD_ONLY", false)
> +while s1_view:incarnation().version ~= 2 do fiber.sleep(0.01) end

Nit: Maybe it will be a bit better to stop after a certain time period
if a condition is not meet after, say, a minute: this will allow
test-run to continue with the test and possibly show more compact
miscompare fail and also will allow continue with other tests that was
already scheduled to the same worker. We use test_run:wait_cond() for
this. Anyway, this is a thing of preference and I don't push anyone to
one or another way: this message it just to let you know about both ways
and the difference between them. (From the other hand explicit is better
then implicit.)

>  s1_view:payload()
>  s1_view:incarnation()
>  
> -- 
> 2.20.1 (Apple Git-117)
> 

  reply	other threads:[~2019-07-30 22:44 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-30 19:34 [tarantool-patches] " Vladislav Shpilevoy
2019-07-30 22:44 ` Alexander Turenko [this message]
2019-07-30 22:58   ` [tarantool-patches] " Vladislav Shpilevoy
2019-07-31  8:23     ` Alexander Turenko
2019-08-09 10:18 ` Kirill Yukhin
2019-08-11 22:42   ` Alexander Turenko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190730224431.gwdxhbgrftrdmlgb@tkn_work_nb \
    --to=alexander.turenko@tarantool.org \
    --cc=kyukhin@tarantool.org \
    --cc=tarantool-patches@freelists.org \
    --cc=v.shpilevoy@tarantool.org \
    --subject='[tarantool-patches] Re: [PATCH 1/1] test: fix flaky swim/errinj.test.lua' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox