[Tarantool-patches] [PATCH vshard 0/2] vshard upgrade and _call
Vladislav Shpilevoy
v.shpilevoy at tarantool.org
Sat Mar 21 21:59:24 MSK 2020
The patchset introduces vshard.storage._call() API - one access point for all
internal functions. It allows to hide them from the public usage behind one
function, and to add/remove internal functions on read-only replicas using
restart or hot code reload. The new call is going to be firstly used by the new
discovery, which currently suffers from too long tx thread usage when fetches
millions of buckets. The existing buckets_discovery() function can't be changed
because it is public. So a new will be added inside _call().
To make it possible to introduce _call() and remove old functions the patchset
describes and implements upgrade strategy, which was not really well thought
through and developed until now.
Branch: http://github.com/tarantool/tarantool/tree/gerold103/gh-227-service-call
Issue: https://github.com/tarantool/tarantool/issues/227
Vladislav Shpilevoy (2):
storage: introduce upgrade strategy
storage: introduce vshard.storage._call()
test/upgrade/box.lua | 9 ++
test/upgrade/storage_1_a.lua | 11 ++
test/upgrade/storage_1_b.lua | 1 +
test/upgrade/storage_2_a.lua | 1 +
test/upgrade/storage_2_b.lua | 1 +
test/upgrade/suite.ini | 7 +
test/upgrade/upgrade.result | 271 ++++++++++++++++++++++++++++++++++
test/upgrade/upgrade.test.lua | 97 ++++++++++++
vshard/storage/init.lua | 147 +++++++++++++++++-
9 files changed, 541 insertions(+), 4 deletions(-)
create mode 100644 test/upgrade/box.lua
create mode 100644 test/upgrade/storage_1_a.lua
create mode 120000 test/upgrade/storage_1_b.lua
create mode 120000 test/upgrade/storage_2_a.lua
create mode 120000 test/upgrade/storage_2_b.lua
create mode 100644 test/upgrade/suite.ini
create mode 100644 test/upgrade/upgrade.result
create mode 100644 test/upgrade/upgrade.test.lua
--
2.21.1 (Apple Git-122.3)
More information about the Tarantool-patches
mailing list