Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement bucket rebalancer #3992

Open
Gerold103 opened this issue Feb 13, 2019 · 0 comments
Open

Implement bucket rebalancer #3992

Gerold103 opened this issue Feb 13, 2019 · 0 comments
Labels
blocked Not ready to be implemented feature A new functionality vshard Sharding related issues
Milestone

Comments

@Gerold103
Copy link
Collaborator

Gerold103 commented Feb 13, 2019

Rebalancer is started on one of cluster nodes, for example, on a master with minimal UUID, as it works in VShard. Rebalancer asks bucket count from different replicasets, calculates a perfect balance, and sends bucket routes to overflowed replicasets. Quite simple implementation.

Implement rebalancer routes applier. The most important and complex part of applier is dealing with bucket RW references. The problem is the same as in tarantool/vshard#173, but it is sharper, more rigorous since GC works on already dead buckets, not under heavy load, while rebalancing moves alive buckets, and it should labour as fast as possible. Possible solutions are use the same way as for RO refs, or use only in-memory locks, for example. A one could ask - how is it possible to have RW not on a master, applying routes? - the answer is: when you have multiple masters in a replicaset. For master-slave routes applier is trivial, but master-master aggravates all the things, tarantool/vshard#165.

Follows #3988.

@Gerold103 Gerold103 added vshard Sharding related issues blocked Not ready to be implemented labels Feb 13, 2019
@kyukhin kyukhin added this to the wishlist milestone Jul 21, 2021
@kyukhin kyukhin added the feature A new functionality label Sep 20, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blocked Not ready to be implemented feature A new functionality vshard Sharding related issues
Projects
None yet
Development

No branches or pull requests

2 participants