Tarantool development patches archive
 help / color / mirror / Atom feed
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
> 

      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