From: Vladislav Shpilevoy via Tarantool-patches <tarantool-patches@dev.tarantool.org> To: tarantool-patches@dev.tarantool.org, olegrok@tarantool.org, yaroslav.dynnikov@tarantool.org Subject: [Tarantool-patches] [PATCH vshard 0/6] Master discovery Date: Fri, 2 Jul 2021 00:09:30 +0200 [thread overview] Message-ID: <cover.1625177221.git.v.shpilevoy@tarantool.org> (raw) The patchset implements master discovery for the router using polling in a separate fiber + a hint from the storage when it rejects an RW request due to being not a master. The solution with subscriptions wasn't done due to architectural issues of box.session.push() on the storage making it too expensive to use both on the client and on the storage when number of connections is big. Branch: http://github.com/tarantool/vshard/tree/gerold103/gh-75-master-discovery Issue: https://github.com/tarantool/vshard/issues/75 Vladislav Shpilevoy (6): replicaset: introduce netbox_wait_connected() test: sort some table prints storage: introduce vshard.storage._call('info') config: introduce master 'auto' replicaset option router: introduce automatic master discovery router: update master using a hint from storage test/router/master_discovery.result | 941 ++++++++++++++++++++++++++ test/router/master_discovery.test.lua | 439 ++++++++++++ test/router/router.result | 36 +- test/router/router.test.lua | 2 + test/storage/storage.result | 14 + test/storage/storage.test.lua | 7 + test/unit/config.result | 48 ++ test/unit/config.test.lua | 21 + test/upgrade/upgrade.result | 15 +- vshard/cfg.lua | 27 +- vshard/consts.lua | 5 + vshard/error.lua | 7 +- vshard/replicaset.lua | 326 +++++++-- vshard/router/init.lua | 115 +++- vshard/storage/init.lua | 16 +- 15 files changed, 1939 insertions(+), 80 deletions(-) create mode 100644 test/router/master_discovery.result create mode 100644 test/router/master_discovery.test.lua -- 2.24.3 (Apple Git-128)
next reply other threads:[~2021-07-01 22:09 UTC|newest] Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-07-01 22:09 Vladislav Shpilevoy via Tarantool-patches [this message] 2021-07-01 22:09 ` [Tarantool-patches] [PATCH vshard 1/6] replicaset: introduce netbox_wait_connected() Vladislav Shpilevoy via Tarantool-patches 2021-07-02 11:46 ` Oleg Babin via Tarantool-patches 2021-07-01 22:09 ` [Tarantool-patches] [PATCH vshard 2/6] test: sort some table prints Vladislav Shpilevoy via Tarantool-patches 2021-07-02 11:46 ` Oleg Babin via Tarantool-patches 2021-07-01 22:09 ` [Tarantool-patches] [PATCH vshard 3/6] storage: introduce vshard.storage._call('info') Vladislav Shpilevoy via Tarantool-patches 2021-07-02 11:46 ` Oleg Babin via Tarantool-patches 2021-07-01 22:09 ` [Tarantool-patches] [PATCH vshard 4/6] config: introduce master 'auto' replicaset option Vladislav Shpilevoy via Tarantool-patches 2021-07-02 11:47 ` Oleg Babin via Tarantool-patches 2021-07-02 21:32 ` Vladislav Shpilevoy via Tarantool-patches 2021-07-05 9:23 ` Oleg Babin via Tarantool-patches 2021-07-01 22:09 ` [Tarantool-patches] [PATCH vshard 5/6] router: introduce automatic master discovery Vladislav Shpilevoy via Tarantool-patches 2021-07-02 11:48 ` Oleg Babin via Tarantool-patches 2021-07-02 21:35 ` Vladislav Shpilevoy via Tarantool-patches 2021-07-05 9:24 ` Oleg Babin via Tarantool-patches 2021-07-05 20:53 ` Vladislav Shpilevoy via Tarantool-patches 2021-07-06 8:54 ` Oleg Babin via Tarantool-patches 2021-07-06 21:19 ` Vladislav Shpilevoy via Tarantool-patches 2021-07-01 22:09 ` [Tarantool-patches] [PATCH vshard 6/6] router: update master using a hint from storage Vladislav Shpilevoy via Tarantool-patches 2021-07-02 11:49 ` Oleg Babin via Tarantool-patches 2021-07-02 21:36 ` Vladislav Shpilevoy via Tarantool-patches 2021-07-05 9:24 ` Oleg Babin via Tarantool-patches 2021-07-05 20:53 ` Vladislav Shpilevoy via Tarantool-patches 2021-07-06 8:55 ` Oleg Babin via Tarantool-patches 2021-07-02 21:36 ` [Tarantool-patches] [PATCH vshard 7/6] util: truncate too long fiber name Vladislav Shpilevoy via Tarantool-patches 2021-07-05 9:23 ` Oleg Babin via Tarantool-patches 2021-08-03 21:55 ` [Tarantool-patches] [PATCH vshard 0/6] Master discovery Vladislav Shpilevoy via Tarantool-patches
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=cover.1625177221.git.v.shpilevoy@tarantool.org \ --to=tarantool-patches@dev.tarantool.org \ --cc=olegrok@tarantool.org \ --cc=v.shpilevoy@tarantool.org \ --cc=yaroslav.dynnikov@tarantool.org \ --subject='Re: [Tarantool-patches] [PATCH vshard 0/6] Master discovery' \ /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