From d9d1deaca9ad15e4ff69fb2df88f33c8875fedc2 Mon Sep 17 00:00:00 2001 From: "Alexander V. Tikhonov" <avtikhon@tarantool.org> Date: Tue, 29 Sep 2020 12:06:25 +0000 Subject: [PATCH] test: flaky replication/replica_rejoin.test.lua On heavy loaded hosts found the following issue: [151] --- replication/replica_rejoin.result Tue Sep 29 10:57:26 2020 [151] +++ replication/replica_rejoin.reject Tue Sep 29 10:57:48 2020 [151] @@ -230,7 +230,12 @@ [151] return box.info ~= nil and box.info.replication[1] ~= nil [151] end) [151] --- [151] -- true [151] +- error: "builtin/box/load_cfg.lua:601: Please call box.cfg{} first\nstack traceback:\n\tbuiltin/box/load_cfg.lua:601: [151] + in function '__index'\n\t[string \"return test_run:wait_cond(function() ...\"]:1: [151] + in function 'cond'\n\t/tmp/tnt/151_replication/test_run.lua:411: in function </tmp/tnt/151_replication/test_run.lua:404>\n\t[C]: [151] + in function 'pcall'\n\tbuiltin/box/console.lua:402: in function 'eval'\n\tbuiltin/box/console.lua:708: [151] + in function 'repl'\n\tbuiltin/box/console.lua:842: in function <builtin/box/console.lua:828>\n\t[C]: [151] + in function 'pcall'\n\tbuiltin/socket.lua:1081: in function <builtin/socket.lua:1079>" [151] ... [151] test_run:wait_upstream(1, {message_re = 'Missing %.xlog file', status = 'loading'}) [151] --- [151] It happened because box.cfg was not ready to provide information. In real there is no need to use local check for replication information parts availablity, due to wait_upstream() function used below, do it itself. Part of #4985 --- test/replication/replica_rejoin.result | 8 -------- test/replication/replica_rejoin.test.lua | 5 ----- 2 files changed, 13 deletions(-) diff --git a/test/replication/replica_rejoin.result b/test/replication/replica_rejoin.result index 510d30a574..4bc3df2ca9 100644 --- a/test/replication/replica_rejoin.result +++ b/test/replication/replica_rejoin.result @@ -224,14 +224,6 @@ test_run:cmd("switch replica") --- - true ... --- Need to wait for box.info.replication[1] defined, otherwise test-run fails to --- wait for the upstream status sometimes. -test_run:wait_cond(function() \ - return box.info ~= nil and box.info.replication[1] ~= nil \ -end) ---- -- true -... test_run:wait_upstream(1, {message_re = 'Missing %.xlog file', status = 'loading'}) --- - true diff --git a/test/replication/replica_rejoin.test.lua b/test/replication/replica_rejoin.test.lua index 403e4fd215..494cbbcb75 100644 --- a/test/replication/replica_rejoin.test.lua +++ b/test/replication/replica_rejoin.test.lua @@ -82,11 +82,6 @@ test_run:wait_cond(function() return #fio.glob(fio.pathjoin(box.cfg.wal_dir, '*. box.cfg{checkpoint_count = checkpoint_count} test_run:cmd("start server replica with args='true', wait=False") test_run:cmd("switch replica") --- Need to wait for box.info.replication[1] defined, otherwise test-run fails to --- wait for the upstream status sometimes. -test_run:wait_cond(function() \ - return box.info ~= nil and box.info.replication[1] ~= nil \ -end) test_run:wait_upstream(1, {message_re = 'Missing %.xlog file', status = 'loading'}) box.space.test:select() -- GitLab