From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp50.i.mail.ru (smtp50.i.mail.ru [94.100.177.110]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id 842F7469719 for ; Tue, 29 Sep 2020 15:57:42 +0300 (MSK) From: "Alexander V. Tikhonov" Date: Tue, 29 Sep 2020 15:57:38 +0300 Message-Id: <55aeec81af1ee7f5dfca361f6a3ac384e3f5c2ae.1601384041.git.avtikhon@tarantool.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [Tarantool-patches] [PATCH v1] test: flaky replication/replica_rejoin.test.lua List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Vladislav Shpilevoy , Kirill Yukhin Cc: root , tarantool-patches@dev.tarantool.org From: root 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 --- Github: https://github.com/tarantool/tarantool/tree/avtikhon/flaky-checksums Issue: https://github.com/tarantool/tarantool/issues/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 f6e74eae1..4d9e83868 100644 --- a/test/replication/replica_rejoin.result +++ b/test/replication/replica_rejoin.result @@ -221,14 +221,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 0feea152e..599a52988 100644 --- a/test/replication/replica_rejoin.test.lua +++ b/test/replication/replica_rejoin.test.lua @@ -81,11 +81,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() -- 2.25.1