[Tarantool-patches] [PATCH v1] test: flaky replication/gh-4606-admin-creds test
Serge Petrenko
sergepetrenko at tarantool.org
Wed Sep 9 18:38:31 MSK 2020
06.09.2020 21:30, Alexander V. Tikhonov пишет:
> On heavy loaded hosts found the following issue:
>
> [021] --- replication/gh-4606-admin-creds.result Wed Apr 15 15:47:41 2020
> [021] +++ replication/gh-4606-admin-creds.reject Sun Sep 6 20:23:09 2020
> [021] @@ -36,7 +36,42 @@
> [021] | ...
> [021] i.replication[i.id % 2 + 1].upstream.status == 'follow' or i
> [021] | ---
> [021] - | - true
> [021] + | - version: 2.6.0-52-g71a24b9f2
> [021] + | id: 2
> [021] + | ro: false
> [021] + | uuid: 3921679b-d994-4cf0-a6ef-1f6a0d96fc79
> [021] + | package: Tarantool
> [021] + | cluster:
> [021] + | uuid: f27dfdfe-2802-486a-bc47-abc83b9097cf
> [021] + | listen: unix/:/Users/tntmac02.tarantool.i/tnt/test/var/014_replication/replica_auth.socket-iproto
> [021] + | replication_anon:
> [021] + | count: 0
> [021] + | replication:
> [021] + | 1:
> [021] + | id: 1
> [021] + | uuid: a07cad18-d27f-48c4-8d56-96b17026702e
> [021] + | lsn: 3
> [021] + | upstream:
> [021] + | peer: admin at unix/:/Users/tntmac02.tarantool.i/tnt/test/var/014_replication/master.socket-iproto
> [021] + | lag: 0.0030207633972168
> [021] + | status: disconnected
> [021] + | idle: 0.44824500009418
> [021] + | message: timed out
> [021] + | system_message: Operation timed out
> [021] + | 2:
> [021] + | id: 2
> [021] + | uuid: 3921679b-d994-4cf0-a6ef-1f6a0d96fc79
> [021] + | lsn: 0
> [021] + | signature: 3
> [021] + | status: running
> [021] + | vclock: {1: 3}
> [021] + | uptime: 1
> [021] + | lsn: 0
> [021] + | sql: []
> [021] + | gc: []
> [021] + | vinyl: []
> [021] + | memory: []
> [021] + | pid: 40326
> [021] | ...
> [021] test_run:switch('default')
> [021] | ---
>
> It happened because replication upstream status check occurred too
> early, when it was only in 'disconnected' 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_upstream() routine.
>
> Closes #5233
> ---
>
> Github: https://github.com/tarantool/tarantool/tree/avtikhon/gh-5233-fix-4606
> Issue: https://github.com/tarantool/tarantool/issues/5233
>
> test/replication/gh-4606-admin-creds.result | 6 +++++-
> test/replication/gh-4606-admin-creds.test.lua | 4 +++-
> 2 files changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/test/replication/gh-4606-admin-creds.result b/test/replication/gh-4606-admin-creds.result
> index fc0fbff44..138e27dce 100644
> --- a/test/replication/gh-4606-admin-creds.result
> +++ b/test/replication/gh-4606-admin-creds.result
> @@ -34,10 +34,14 @@ test_run:switch('replica_auth')
> i = box.info
> | ---
> | ...
> -i.replication[i.id % 2 + 1].upstream.status == 'follow' or i
> +replica_id = i.id % 2 + 1
> + | ---
> + | ...
> +test_run:wait_upstream(replica_id, {status = 'follow'}) or i
> | ---
> | - true
> | ...
> +
> test_run:switch('default')
> | ---
> | - true
> diff --git a/test/replication/gh-4606-admin-creds.test.lua b/test/replication/gh-4606-admin-creds.test.lua
> index 217d46ce1..9ab74700a 100644
> --- a/test/replication/gh-4606-admin-creds.test.lua
> +++ b/test/replication/gh-4606-admin-creds.test.lua
> @@ -16,7 +16,9 @@ test_run:cmd("create server replica_auth with rpl_master=default, script='replic
> test_run:cmd("start server replica_auth with args='admin:111 0.1'")
> test_run:switch('replica_auth')
> i = box.info
> -i.replication[i.id % 2 + 1].upstream.status == 'follow' or i
> +replica_id = i.id % 2 + 1
> +test_run:wait_upstream(replica_id, {status = 'follow'}) or i
> +
> test_run:switch('default')
> test_run:cmd("stop server replica_auth")
> test_run:cmd("cleanup server replica_auth")
LGTM
--
Serge Petrenko
More information about the Tarantool-patches
mailing list