From: Vladislav Shpilevoy <v.shpilevoy@tarantool.org> To: tarantool-patches@freelists.org Cc: kostja@tarantool.org Subject: [tarantool-patches] [PATCH 3/5] swim: fix flaky parts in swim/swim.test.lua Date: Wed, 22 May 2019 22:52:19 +0300 [thread overview] Message-ID: <5001ecd8d4d0ae328db47052173da06d9f0a3a82.1558554655.git.v.shpilevoy@tarantool.org> (raw) In-Reply-To: <cover.1558554655.git.v.shpilevoy@tarantool.org> They are caused by * too slow network, when SWIM tests are run under high load; * UDP packets late arrival or drop. Follow up #3234 --- test/swim/swim.result | 29 ++++++++--------------------- test/swim/swim.test.lua | 18 ++++++++---------- 2 files changed, 16 insertions(+), 31 deletions(-) diff --git a/test/swim/swim.result b/test/swim/swim.result index dffacd999..1b5ae2b0f 100644 --- a/test/swim/swim.result +++ b/test/swim/swim.result @@ -236,17 +236,9 @@ s1:broadcast(listen_port) --- - true ... -while s2:size() ~= 2 do fiber.sleep(0.01) end +while s2:size() ~= 2 or s1:size() ~= 2 do fiber.sleep(0.01) s1:broadcast(listen_port) end --- ... -s1:size() ---- -- 2 -... -s2:size() ---- -- 2 -... s2:delete() --- ... @@ -263,11 +255,10 @@ s1:remove_member('1234') --- - error: 'builtin/swim.lua:<line>: swim:remove_member: invalid UUID' ... -s1:remove_member(uuid(2)) +s1:remove_member(uuid(2)) size = s1:size() --- -- true ... -s1:size() +size --- - 1 ... @@ -293,9 +284,8 @@ s1:add_member({uuid = uuid(2)}) - null - 'swim.add_member: URI and UUID are mandatory' ... -s1:add_member({uri = listen_uri, uuid = uuid(2)}) +s1:remove_member(uuid(2)) s1:add_member({uri = listen_uri, uuid = uuid(2)}) --- -- true ... s1:add_member({uri = listen_uri, uuid = uuid(2)}) --- @@ -306,15 +296,14 @@ s1:size() --- - 2 ... -s1:cfg({uuid = uuid(3)}) +s1:cfg({uuid = uuid(3)}) old_self = s1:member_by_uuid(uuid(1)) --- -- true ... s1:self():uuid() --- - 00000000-0000-1000-8000-000000000003 ... -s1:member_by_uuid(uuid(1)) +old_self --- - uri: 127.0.0.1:<port> status: left @@ -848,13 +837,11 @@ s2 = swim.new({uuid = uuid(2), uri = uri(), heartbeat_rate = 0.01}) s1_self = s1:self() --- ... -s1:add_member({uuid = s2:self():uuid(), uri = s2:self():uri()}) +_ = s1:add_member({uuid = s2:self():uuid(), uri = s2:self():uri()}) --- -- true ... -s2:add_member({uuid = s1_self:uuid(), uri = s1_self:uri()}) +_ = s2:add_member({uuid = s1_self:uuid(), uri = s1_self:uri()}) --- -- true ... s1:size() --- diff --git a/test/swim/swim.test.lua b/test/swim/swim.test.lua index 081d89b3a..b344c69be 100644 --- a/test/swim/swim.test.lua +++ b/test/swim/swim.test.lua @@ -82,30 +82,28 @@ s1:broadcast('127.0.0.1:3333') s1:broadcast() s1:broadcast(listen_port) -while s2:size() ~= 2 do fiber.sleep(0.01) end -s1:size() -s2:size() +while s2:size() ~= 2 or s1:size() ~= 2 do fiber.sleep(0.01) s1:broadcast(listen_port) end s2:delete() s1.remove_member() s1:remove_member(100) s1:remove_member('1234') -s1:remove_member(uuid(2)) -s1:size() +s1:remove_member(uuid(2)) size = s1:size() +size s1.add_member() s1:add_member(100) s1:add_member({uri = true}) s1:add_member({uri = listen_uri}) s1:add_member({uuid = uuid(2)}) -s1:add_member({uri = listen_uri, uuid = uuid(2)}) +s1:remove_member(uuid(2)) s1:add_member({uri = listen_uri, uuid = uuid(2)}) s1:add_member({uri = listen_uri, uuid = uuid(2)}) s1:size() -s1:cfg({uuid = uuid(3)}) +s1:cfg({uuid = uuid(3)}) old_self = s1:member_by_uuid(uuid(1)) s1:self():uuid() -s1:member_by_uuid(uuid(1)) +old_self -- Can't remove self. s1:remove_member(uuid(3)) -- Not existing. @@ -274,8 +272,8 @@ s:delete() s1 = swim.new({uuid = uuid(1), uri = uri(listen_port), heartbeat_rate = 0.01}) s2 = swim.new({uuid = uuid(2), uri = uri(), heartbeat_rate = 0.01}) s1_self = s1:self() -s1:add_member({uuid = s2:self():uuid(), uri = s2:self():uri()}) -s2:add_member({uuid = s1_self:uuid(), uri = s1_self:uri()}) +_ = s1:add_member({uuid = s2:self():uuid(), uri = s2:self():uri()}) +_ = s2:add_member({uuid = s1_self:uuid(), uri = s1_self:uri()}) s1:size() s2:size() s1_view = s2:member_by_uuid(s1_self:uuid()) -- 2.20.1 (Apple Git-117)
next prev parent reply other threads:[~2019-05-22 19:52 UTC|newest] Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-05-22 19:52 [tarantool-patches] [PATCH 0/5] SWIM bug fixes Vladislav Shpilevoy 2019-05-22 19:52 ` [tarantool-patches] [PATCH 1/5] swim: fix an obvious leak in swim_delete() Vladislav Shpilevoy 2019-05-22 19:52 ` [tarantool-patches] [PATCH 2/5] swim: fix an obvious use-after-free Vladislav Shpilevoy 2019-05-22 19:52 ` Vladislav Shpilevoy [this message] 2019-05-22 19:52 ` [tarantool-patches] [PATCH 4/5] swim: be ready to idle round steps when net is slow Vladislav Shpilevoy 2019-05-22 19:52 ` [tarantool-patches] [PATCH 5/5] swim: allow to set codec before cfg Vladislav Shpilevoy 2019-05-22 21:14 ` [tarantool-patches] Re: [PATCH 0/5] SWIM bug fixes Vladislav Shpilevoy
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=5001ecd8d4d0ae328db47052173da06d9f0a3a82.1558554655.git.v.shpilevoy@tarantool.org \ --to=v.shpilevoy@tarantool.org \ --cc=kostja@tarantool.org \ --cc=tarantool-patches@freelists.org \ --subject='Re: [tarantool-patches] [PATCH 3/5] swim: fix flaky parts in swim/swim.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