Tarantool development patches archive
 help / color / mirror / Atom feed
* [Tarantool-patches] [RFC 0/4] qsync: evaluate replication_synchro_quorum dynamically
@ 2020-11-19 19:40 Cyrill Gorcunov
  2020-11-19 19:40 ` [Tarantool-patches] [RFC 1/4] cfg: add cfg_isnumber helper Cyrill Gorcunov
                   ` (3 more replies)
  0 siblings, 4 replies; 21+ messages in thread
From: Cyrill Gorcunov @ 2020-11-19 19:40 UTC (permalink / raw)
  To: tml; +Cc: Vladislav Shpilevoy

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

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2020-11-26 16:01 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-19 19:40 [Tarantool-patches] [RFC 0/4] qsync: evaluate replication_synchro_quorum dynamically Cyrill Gorcunov
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

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