From: Cyrill Gorcunov <gorcunov@gmail.com> To: tml <tarantool-patches@dev.tarantool.org> Cc: Vladislav Shpilevoy <v.shpilevoy@tarantool.org> Subject: [Tarantool-patches] [RFC 0/4] qsync: evaluate replication_synchro_quorum dynamically Date: Thu, 19 Nov 2020 22:40:56 +0300 [thread overview] Message-ID: <20201119194100.840495-1-gorcunov@gmail.com> (raw) From the issue description: > The reason is that users will likely not understand how the option > should be configured properly, and will break something accidentally. > So this idea about allowance to write an expression on the cluster > size allows to specify the canonical N/2 + 1 formula, and not update > it manually on all instances, when a new node is added, or an existing > one is deleted. The series provides a first draft/rfc for review. As to me current pucture is muddy. The whole cfg subsystem is too overloaded - some parts are configured on lua level then passed to C level where the values are finally stored. I think we need to keep configuration core on C level, simply providing a thin interface to lua this will allow to share settings (for example I've had a huge problems when been implementing separate log module config). Anyway in the series we start to allow cofigure replication_synchro_quorum settings via symbolic representation. Please take a look. There is NO tests yet, no docs update just an early draft to share. Maybe you share some ideas how to make this code less messy since now I'm far from being happy with it. Thus any comments are highly appreciated! issue https://github.com/tarantool/tarantool/issues/5446 branch gorcunov/gh-5446-eval-quorum Cyrill Gorcunov (4): cfg: add cfg_isnumber helper qsync: move synchro quorum update to separate routine cfg: prepare symbolic evaluation of replication_synchro_quorum qsync: allow to specify replication_synchro_quorum as a formula src/box/alter.cc | 2 + src/box/box.cc | 81 ++++++++++++++++++++++++++++++++++++++-- src/box/box.h | 1 + src/box/lua/load_cfg.lua | 3 +- src/box/replication.cc | 49 ++++++++++++++++++++++++ src/box/replication.h | 12 ++++++ src/cfg.c | 9 +++++ src/cfg.h | 6 +++ 8 files changed, 157 insertions(+), 6 deletions(-) -- 2.26.2
next reply other threads:[~2020-11-19 19:41 UTC|newest] Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-11-19 19:40 Cyrill Gorcunov [this message] 2020-11-19 19:40 ` [Tarantool-patches] [RFC 1/4] cfg: add cfg_isnumber helper Cyrill Gorcunov 2020-11-20 9:53 ` Serge Petrenko 2020-11-19 19:40 ` [Tarantool-patches] [RFC 2/4] qsync: move synchro quorum update to separate routine Cyrill Gorcunov 2020-11-20 10:06 ` Serge Petrenko 2020-11-20 11:01 ` Cyrill Gorcunov 2020-11-20 11:39 ` Serge Petrenko 2020-11-20 11:47 ` Cyrill Gorcunov 2020-11-19 19:40 ` [Tarantool-patches] [RFC 3/4] cfg: prepare symbolic evaluation of replication_synchro_quorum Cyrill Gorcunov 2020-11-20 10:32 ` Serge Petrenko 2020-11-20 11:34 ` Cyrill Gorcunov 2020-11-20 11:56 ` Serge Petrenko 2020-11-20 12:14 ` Cyrill Gorcunov 2020-11-26 14:38 ` Mons Anderson 2020-11-26 14:44 ` Cyrill Gorcunov 2020-11-26 16:01 ` Mons Anderson 2020-11-19 19:41 ` [Tarantool-patches] [RFC 4/4] qsync: allow to specify replication_synchro_quorum as a formula Cyrill Gorcunov 2020-11-20 10:50 ` Serge Petrenko 2020-11-20 12:01 ` Cyrill Gorcunov 2020-11-20 12:41 ` Serge Petrenko 2020-11-20 15:00 ` Cyrill Gorcunov
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=20201119194100.840495-1-gorcunov@gmail.com \ --to=gorcunov@gmail.com \ --cc=tarantool-patches@dev.tarantool.org \ --cc=v.shpilevoy@tarantool.org \ --subject='Re: [Tarantool-patches] [RFC 0/4] qsync: evaluate replication_synchro_quorum dynamically' \ /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