[Tarantool-patches] [PATCH v1] test: flaky replication/gh-4402-info-errno.test.lua
Serge Petrenko
sergepetrenko at tarantool.org
Wed Sep 9 18:35:41 MSK 2020
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
More information about the Tarantool-patches
mailing list