Tarantool development patches archive
 help / color / mirror / Atom feed
From: "Alexander V. Tikhonov" <avtikhon@tarantool.org>
To: Kirill Yukhin <kyukhin@tarantool.org>,
	Serge Petrenko <sergepetrenko@tarantool.org>
Cc: tarantool-patches@dev.tarantool.org
Subject: [Tarantool-patches] [PATCH v1] test: flaky replication/gh-4402-info-errno.test.lua
Date: Sun,  6 Sep 2020 18:36:50 +0300	[thread overview]
Message-ID: <faadba463b93c082aa511fcdb1d97d6721a6639b.1599406456.git.avtikhon@tarantool.org> (raw)

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")
-- 
2.17.1

             reply	other threads:[~2020-09-06 15:36 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-06 15:36 Alexander V. Tikhonov [this message]
2020-09-06 15:36 ` [Tarantool-patches] [PATCH v1] test: flaky replication/gh-4928-tx-boundaries test Alexander V. Tikhonov
2020-09-09 15:35 ` [Tarantool-patches] [PATCH v1] test: flaky replication/gh-4402-info-errno.test.lua Serge Petrenko
2020-09-11 10:34 ` Kirill Yukhin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=faadba463b93c082aa511fcdb1d97d6721a6639b.1599406456.git.avtikhon@tarantool.org \
    --to=avtikhon@tarantool.org \
    --cc=kyukhin@tarantool.org \
    --cc=sergepetrenko@tarantool.org \
    --cc=tarantool-patches@dev.tarantool.org \
    --subject='Re: [Tarantool-patches] [PATCH v1] test: flaky replication/gh-4402-info-errno.test.lua' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox