Tarantool development patches archive
 help / color / mirror / Atom feed
* [Tarantool-patches] [PATCH vshard 0/6] Master discovery
@ 2021-07-01 22:09 Vladislav Shpilevoy via Tarantool-patches
  2021-07-01 22:09 ` [Tarantool-patches] [PATCH vshard 1/6] replicaset: introduce netbox_wait_connected() Vladislav Shpilevoy via Tarantool-patches
                   ` (7 more replies)
  0 siblings, 8 replies; 27+ messages in thread
From: Vladislav Shpilevoy via Tarantool-patches @ 2021-07-01 22:09 UTC (permalink / raw)
  To: tarantool-patches, olegrok, yaroslav.dynnikov

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)


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

end of thread, other threads:[~2021-08-03 21:55 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-01 22:09 [Tarantool-patches] [PATCH vshard 0/6] Master discovery Vladislav Shpilevoy via Tarantool-patches
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

Tarantool development patches archive

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://lists.tarantool.org/tarantool-patches/0 tarantool-patches/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 tarantool-patches tarantool-patches/ https://lists.tarantool.org/tarantool-patches \
		tarantool-patches@dev.tarantool.org.
	public-inbox-index tarantool-patches

Example config snippet for mirrors.


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git