From: Alexander Turenko <alexander.turenko@tarantool.org>
To: avtikhon <avtikhon@tarantool.org>
Cc: tarantool-patches@freelists.org
Subject: [tarantool-patches] Re: [PATCH v3] Add status/messages upstream/downstream checker
Date: Thu, 18 Apr 2019 20:02:05 +0300 [thread overview]
Message-ID: <20190418170204.cy4z3vux5me3yt2t@tkn_work_nb> (raw)
In-Reply-To: <87c7e31b8fe3bbc8b7be975d32a22d51e684941e.1555435921.git.avtikhon@tarantool.org>
Added logging, rewrote comments (using ldoc format), opened [PR
#163][1].
Can you look into the PR, check successful and unsuccessful cases and
look into the log message format (whether it looks usable)?
[1]: https://github.com/tarantool/test-run/pull/163
WBR, Alexander Turenko.
On Tue, Apr 16, 2019 at 08:32:15PM +0300, avtikhon wrote:
> Added the common routine that check the upstream
> and downstream status either message or both.
> Wait default timeout until the given status and the message
> will match the given pattern, if some flags are nil then it
> will not be checked. When message is box.NULL expects
> box.info.replication[id].message to be nil or box.NULL.
>
> Close #158
> ---
> test_run.lua | 38 ++++++++++++++++++++++++++++++++++++++
> 1 file changed, 38 insertions(+)
>
> diff --git a/test_run.lua b/test_run.lua
> index 42d5e56..d0935e3 100644
> --- a/test_run.lua
> +++ b/test_run.lua
> @@ -227,6 +227,42 @@ local function switch(self, node)
> return self:cmd(switch_cmd3:format(node))
> end
>
> +local function gen_box_info_replication_cond(id, status, message, field)
> + return function()
> + local info = box.info.replication[id][field]
> + local ok = true
> + if status ~= nil then
> + ok = ok and info.status == status
> + end
> + if message ~= nil then
> + ok = ok and info.message ~= nil and info.message:match(message)
> + elseif type(message) ~= 'nil' then
> + ok = ok and info.message == nil
> + end
> + return not not ok
> + end
> +end
> +
> +-- Wait default timeout until the given status and the message
> +-- will match the given pattern, if some flags are nil then it
> +-- will not be checked.
> +-- when message is box.NULL expects
> +-- box.info.replication[id].message to be nil or box.NULL.
> +local function wait_upstream(self, id, status, message)
> + return self:wait_cond(gen_box_info_replication_cond(id, status, message,
> + 'upstream'))
> +end
> +
> +-- Wait default timeout until the given status and the message
> +-- will match the given pattern, if some flags are nil then it
> +-- will not be checked.
> +-- When message is box.NULL expects
> +-- box.info.replication[id].message to be nil or box.NULL.
> +local function wait_downstream(self, id, status, message)
> + return self:wait_cond(gen_box_info_replication_cond(id, status, message,
> + 'downstream'))
> +end
> +
> local get_cfg_cmd = 'config %s'
>
> local function get_cfg(self, name)
> @@ -360,6 +396,8 @@ local inspector_methods = {
> wait_fullmesh = wait_fullmesh,
> get_cluster_vclock = get_cluster_vclock,
> wait_cluster_vclock = wait_cluster_vclock,
> + wait_downstream = wait_downstream,
> + wait_upstream = wait_upstream,
> --
> grep_log = grep_log,
> wait_cond = wait_cond,
> --
> 2.17.1
>
prev parent reply other threads:[~2019-04-18 17:02 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-04-16 17:32 [tarantool-patches] " avtikhon
2019-04-18 17:02 ` Alexander Turenko [this message]
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=20190418170204.cy4z3vux5me3yt2t@tkn_work_nb \
--to=alexander.turenko@tarantool.org \
--cc=avtikhon@tarantool.org \
--cc=tarantool-patches@freelists.org \
--subject='[tarantool-patches] Re: [PATCH v3] Add status/messages upstream/downstream checker' \
/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