Tarantool development patches archive
 help / color / mirror / Atom feed
From: Georgy Kirichenko <georgy@tarantool.org>
To: tarantool-patches@freelists.org
Cc: Vladislav Shpilevoy <v.shpilevoy@tarantool.org>
Subject: [tarantool-patches] Re: [PATCH vshard 0/7] Replicaset lock and bucket pin
Date: Fri, 30 Mar 2018 07:15:24 +0300	[thread overview]
Message-ID: <2086653.5umClPjUaL@home.lan> (raw)
In-Reply-To: <cover.1522185711.git.v.shpilevoy@tarantool.org>

[-- Attachment #1: Type: text/plain, Size: 3049 bytes --]

Seems to be Ok

On Wednesday, March 28, 2018 12:24:07 AM MSK Vladislav Shpilevoy wrote:
> Branch: http://github.com/tarantool/tarantool/tree/gh-71-bucket-pin-lock
> Issue: https://github.com/tarantool/vshard/issues/71
> 
> Replicaset lock makes it invisible for the rebalancer - a locked
> replicaset can neither receive new buckets nor send its own.
> Bucket pin blocks this concrete bucket sending - it will stay on a
> replicaset to which pinned, until it is unpinned. Pinning all
> replicaset buckets is not the same as replicaset locking - even if
> you pin all buckets, the non-locked replicaset still can receive
> new buckets.
> 
> Replicaset lock allows, for example, to separate a replicaset for
> testsing from production replicasets. Or to preserve some
> application metadata, that must not be sharded for a while. Bucket
> pin allows the same, but in the smaller scope.
> 
> Difference between replicaset lock and all buckets pinning is
> motivated by ability to button-up an entire replicaset.
> 
> Mostly locked and pinned buckets affect the rebalancing algorithm,
> which must ignore locked replicasets, and take pinned buckets into
> account, attempting to reach the best possible balance. It is not
> a trivial task, because a user can pin to a replicaset so many
> buckets, that a perfect balance is unreachable.
> 
> Vladislav Shpilevoy (7):
>   rebalancer: allow to lock a replicaset from rebalancing
>   rebalancer: remember the currently sending bucket id
>   storage: rework recovery
>   storage: wrap bucket status checks into functions
>   rebalancer: introduce pinned bucket concept into rebalancer algo
>   storage: open public API to pin/unpin buckets
>   rfc: add RFC for replicaset lock and bucket pin
> 
>  docs/RFC/replicaset_lock_and_bucket.md            |  84 ++++
>  test/rebalancer/box_1_a.lua                       |   2 +-
>  test/rebalancer/rebalancer_lock_and_pin.result    | 503
> ++++++++++++++++++++++ test/rebalancer/rebalancer_lock_and_pin.test.lua  |
> 224 ++++++++++ test/rebalancer/restart_during_rebalancing.result |   4 +
>  test/storage/recovery.result                      |  85 +++-
>  test/storage/recovery.test.lua                    |  38 +-
>  test/storage/storage.result                       |   7 +
>  test/unit/rebalancer.result                       | 333 +++++++++++++-
>  test/unit/rebalancer.test.lua                     |  79 ++++
>  vshard/cfg.lua                                    |   3 +-
>  vshard/consts.lua                                 |   1 +
>  vshard/error.lua                                  |  12 +-
>  vshard/replicaset.lua                             | 105 +++--
>  vshard/router/init.lua                            |  46 +-
>  vshard/storage/init.lua                           | 418 +++++++++++-------
>  16 files changed, 1713 insertions(+), 231 deletions(-)
>  create mode 100644 docs/RFC/replicaset_lock_and_bucket.md
>  create mode 100644 test/rebalancer/rebalancer_lock_and_pin.result
>  create mode 100644 test/rebalancer/rebalancer_lock_and_pin.test.lua


[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

      parent reply	other threads:[~2018-03-30  4:15 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-27 21:24 [tarantool-patches] " Vladislav Shpilevoy
2018-03-27 21:24 ` [tarantool-patches] [PATCH vshard 1/7] rebalancer: allow to lock a replicaset from rebalancing Vladislav Shpilevoy
2018-03-27 21:24 ` [tarantool-patches] [PATCH vshard 2/7] rebalancer: remember the currently sending bucket id Vladislav Shpilevoy
2018-03-27 21:24 ` [tarantool-patches] [PATCH vshard 3/7] storage: rework recovery Vladislav Shpilevoy
2018-03-27 21:24 ` [tarantool-patches] [PATCH vshard 4/7] storage: wrap bucket status checks into functions Vladislav Shpilevoy
2018-03-27 21:24 ` [tarantool-patches] [PATCH vshard 5/7] rebalancer: introduce pinned bucket concept into rebalancer algo Vladislav Shpilevoy
2018-03-27 21:24 ` [tarantool-patches] [PATCH vshard 6/7] storage: open public API to pin/unpin buckets Vladislav Shpilevoy
2018-03-27 21:24 ` [tarantool-patches] [PATCH vshard 7/7] rfc: add RFC for replicaset lock and bucket pin Vladislav Shpilevoy
2018-03-30  4:15 ` Georgy Kirichenko [this message]

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=2086653.5umClPjUaL@home.lan \
    --to=georgy@tarantool.org \
    --cc=tarantool-patches@freelists.org \
    --cc=v.shpilevoy@tarantool.org \
    --subject='[tarantool-patches] Re: [PATCH vshard 0/7] Replicaset lock and bucket pin' \
    /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