Details
-
Bug
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
None
-
None
Description
The current auto-rebalancer tries to evenly distribute replicas across nodes by dividing the number of replicas by number of nodes, and then assigning the floor as a capacity to some nodes and the ceiling as a capacity to other nodes. Right now, nodes 0..k are assigned the ceiling and k+1..n are assigned the floor. Given existing assignments, an orphaned partition could be assigned to a node in the second set if that node had an extra slot, and there's at least one node in the first set with available capacity, then the latter node should be able to "donate" a unit of capacity to the former node.