From cda363f3522d463dd38901b29ec2b17b4674d516 Mon Sep 17 00:00:00 2001 From: Vladislav Shpilevoy <v.shpilevoy@tarantool.org> Date: Wed, 22 May 2019 20:00:56 +0300 Subject: [PATCH] swim: fix flaky parts in swim/swim.test.lua 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 dffacd999b..1b5ae2b0ff 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 081d89b3a7..b344c69be7 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()) -- GitLab