From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp49.i.mail.ru (smtp49.i.mail.ru [94.100.177.109]) (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 D27F9469719 for ; Wed, 9 Sep 2020 18:35:42 +0300 (MSK) References: From: Serge Petrenko Message-ID: <07c9d6e7-23af-de14-986f-901c3599a0f6@tarantool.org> Date: Wed, 9 Sep 2020 18:35:41 +0300 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8"; format="flowed" Content-Transfer-Encoding: 8bit Content-Language: ru Subject: Re: [Tarantool-patches] [PATCH v1] test: flaky replication/gh-4402-info-errno.test.lua List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Alexander V. Tikhonov" , Kirill Yukhin Cc: tarantool-patches@dev.tarantool.org 06.09.2020 18:36, Alexander V. Tikhonov пишет: > On heavy loaded hosts found the following issue: > > [004] --- replication/gh-4402-info-errno.result Wed Jul 22 06:13:34 2020 > [004] +++ replication/gh-4402-info-errno.reject Wed Jul 22 06:41:14 2020 > [004] @@ -32,7 +32,39 @@ > [004] | ... > [004] d ~= nil and d.status == 'follow' or i > [004] | --- > [004] - | - true > [004] + | - version: 2.6.0-10-g8df49e4 > [004] + | id: 1 > [004] + | ro: false > [004] + | uuid: 41c4e3bf-cc3b-443d-88c9-39a9a8fe2df9 > [004] + | package: Tarantool > [004] + | cluster: > [004] + | uuid: 6ec7bcce-68e7-41a4-b84b-dc9236621579 > [004] + | listen: unix/:(socket) > [004] + | replication_anon: > [004] + | count: 0 > [004] + | replication: > [004] + | 1: > [004] + | id: 1 > [004] + | uuid: 41c4e3bf-cc3b-443d-88c9-39a9a8fe2df9 > [004] + | lsn: 52 > [004] + | 2: > [004] + | id: 2 > [004] + | uuid: 8a989231-177a-4eb8-8030-c148bc752b0e > [004] + | lsn: 0 > [004] + | downstream: > [004] + | status: stopped > [004] + | message: timed out > [004] + | system_message: Connection timed out > [004] + | signature: 52 > [004] + | status: running > [004] + | vclock: {1: 52} > [004] + | uptime: 27 > [004] + | lsn: 52 > [004] + | sql: [] > [004] + | gc: [] > [004] + | vinyl: [] > [004] + | memory: [] > [004] + | pid: 99 > [004] | ... > [004] > [004] test_run:cmd('stop server replica') > > It happened because replication downstream status check occurred too > early, when it was only in 'stopped' state. To give the replication > status check routine ability to reach the needed 'follow' state, it > need to wait for it using test_run:wait_downstream() routine. > > Closes #5235 > --- > > Github: https://github.com/tarantool/tarantool/tree/avtikhon/gh-5235-fix-4402 > Issue: https://github.com/tarantool/tarantool/issues/5235 > > test/replication/gh-4402-info-errno.result | 5 +---- > test/replication/gh-4402-info-errno.test.lua | 3 +-- > 2 files changed, 2 insertions(+), 6 deletions(-) > > diff --git a/test/replication/gh-4402-info-errno.result b/test/replication/gh-4402-info-errno.result > index 661eea38b..9c6b352a4 100644 > --- a/test/replication/gh-4402-info-errno.result > +++ b/test/replication/gh-4402-info-errno.result > @@ -27,10 +27,7 @@ i = box.info > replica_id = i.id % 2 + 1 > | --- > | ... > -d = i.replication[replica_id].downstream > - | --- > - | ... > -d ~= nil and d.status == 'follow' or i > +test_run:wait_downstream(replica_id, {status = 'follow'}) or i > | --- > | - true > | ... > diff --git a/test/replication/gh-4402-info-errno.test.lua b/test/replication/gh-4402-info-errno.test.lua > index 1b2d9d814..8f72e7f72 100644 > --- a/test/replication/gh-4402-info-errno.test.lua > +++ b/test/replication/gh-4402-info-errno.test.lua > @@ -12,8 +12,7 @@ test_run:cmd('create server replica with rpl_master=default, script="replication > test_run:cmd('start server replica') > i = box.info > replica_id = i.id % 2 + 1 > -d = i.replication[replica_id].downstream > -d ~= nil and d.status == 'follow' or i > +test_run:wait_downstream(replica_id, {status = 'follow'}) or i > > test_run:cmd('stop server replica') > test_run:cmd("cleanup server replica") Thanks for the patch! LGTM. -- Serge Petrenko