From: Sergey Bronnikov <sergeyb@tarantool.org>
To: tarantool-patches@dev.tarantool.org
Cc: Oleg Piskunov <o.piskunov@tarantool.org>
Subject: Re: [Tarantool-patches] [PATCH] Add new error injection constant ERRINJ_AUTO_UPGRADE
Date: Mon, 30 Mar 2020 16:11:59 +0300 [thread overview]
Message-ID: <20200330131159.GA63493@pony.bronevichok.ru> (raw)
In-Reply-To: <20200330101324.GA31497@pony.bronevichok.ru>
+ A.Tikhonov and A.Turenko
On 13:13 Mon 30 Mar , Sergey Bronnikov wrote:
> In upgrade testing we need an ability to control running of upgrade.lua script
> execution. When constant ERRINJ_AUTO_UPGRADE is set to true tarantool will skip
> upgrade.lua script execution.
>
> Ticket: https://github.com/tarantool/tarantool/issues/4801
> GitHub branch: https://github.com/tarantool/tarantool/tree/ligurio/gh-4801-errinj_auto_upgrade
>
> ---
> src/box/lua/init.c | 2 ++
> src/box/lua/init.h | 2 ++
> src/box/lua/load_cfg.lua | 2 +-
> src/lib/core/errinj.h | 1 +
> test/box/errinj.result | 4 +++-
> test/box/errinj.test.lua | 4 +++-
> 6 files changed, 12 insertions(+), 3 deletions(-)
>
> diff --git a/src/box/lua/init.c b/src/box/lua/init.c
> index 63e8b8216..fc26ad175 100644
> --- a/src/box/lua/init.c
> +++ b/src/box/lua/init.c
> @@ -34,6 +34,8 @@
> #include <lauxlib.h>
> #include <lualib.h>
>
> +#include "errinj.h"
> +
> #include "lua/utils.h" /* luaT_error() */
> #include "lua/trigger.h"
>
> diff --git a/src/box/lua/init.h b/src/box/lua/init.h
> index 66ef66063..65f9aea8f 100644
> --- a/src/box/lua/init.h
> +++ b/src/box/lua/init.h
> @@ -31,6 +31,8 @@
> * SUCH DAMAGE.
> */
>
> +#include <stdbool.h>
> +
> #if defined(__cplusplus)
> extern "C" {
> #endif /* defined(__cplusplus) */
> diff --git a/src/box/lua/load_cfg.lua b/src/box/lua/load_cfg.lua
> index b671eb7a2..394a00168 100644
> --- a/src/box/lua/load_cfg.lua
> +++ b/src/box/lua/load_cfg.lua
> @@ -571,7 +571,7 @@ local function load_cfg(cfg)
> end
> end
> end
> - if not box.cfg.read_only and not box.cfg.replication then
> + if box.error.injection.get('ERRINJ_AUTO_UPGRADE') or (not box.cfg.read_only and not box.cfg.replication) then
> box.schema.upgrade{auto = true}
> end
> end
> diff --git a/src/lib/core/errinj.h b/src/lib/core/errinj.h
> index ee6c57a0d..7eaa1ac48 100644
> --- a/src/lib/core/errinj.h
> +++ b/src/lib/core/errinj.h
> @@ -139,6 +139,7 @@ struct errinj {
> _(ERRINJ_FIBER_MPROTECT, ERRINJ_INT, {.iparam = -1}) \
> _(ERRINJ_RELAY_FASTER_THAN_TX, ERRINJ_BOOL, {.bparam = false}) \
> _(ERRINJ_INDEX_RESERVE, ERRINJ_BOOL, {.bparam = false})\
> + _(ERRINJ_AUTO_UPGRADE, ERRINJ_BOOL, {.bparam = false})\
>
> ENUM0(errinj_id, ERRINJ_LIST);
> extern struct errinj errinjs[];
> diff --git a/test/box/errinj.result b/test/box/errinj.result
> index 0d3fedeb3..d4584022a 100644
> --- a/test/box/errinj.result
> +++ b/test/box/errinj.result
> @@ -29,7 +29,9 @@ evals = {}
> ---
> ...
> for k, v in pairs(errinj.info()) do \
> - table.insert(ekeys, k) \
> + if not (k == "ERRINJ_AUTO_UPGRADE") then \
> + table.insert(ekeys, k) \
> + end \
> end
> ---
> ...
> diff --git a/test/box/errinj.test.lua b/test/box/errinj.test.lua
> index 5d8f4c635..a6d4eecd4 100644
> --- a/test/box/errinj.test.lua
> +++ b/test/box/errinj.test.lua
> @@ -15,7 +15,9 @@ index = space:create_index('primary', { type = 'hash' })
> ekeys = {}
> evals = {}
> for k, v in pairs(errinj.info()) do \
> - table.insert(ekeys, k) \
> + if not (k == "ERRINJ_AUTO_UPGRADE") then \
> + table.insert(ekeys, k) \
> + end \
> end
> table.sort(ekeys)
> for i, k in ipairs(ekeys) do \
> --
> 2.23.0
>
>
> --
> sergeyb@
--
sergeyb@
next prev parent reply other threads:[~2020-03-30 13:12 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-30 10:13 Sergey Bronnikov
2020-03-30 13:11 ` Sergey Bronnikov [this message]
2020-05-15 17:14 ` Alexander Turenko
2020-05-18 15:05 ` Sergey Bronnikov
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=20200330131159.GA63493@pony.bronevichok.ru \
--to=sergeyb@tarantool.org \
--cc=o.piskunov@tarantool.org \
--cc=tarantool-patches@dev.tarantool.org \
--subject='Re: [Tarantool-patches] [PATCH] Add new error injection constant ERRINJ_AUTO_UPGRADE' \
/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