[
https://issues.apache.org/jira/browse/HELIX-151?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13727835#comment-13727835
]
Kanak Biscuitwala edited comment on HELIX-151 at 8/2/13 5:26 PM:
-----------------------------------------------------------------
The fix is attached.
As the description states, there are two types of nodes: donors and acceptors.
A donor has a free unit of capacity because it was assigned ceiling capacity
while the acceptor is full because it was assigned floor capacity, but could
otherwise accept the replica. Thus, a unit of capacity is moved from the donor
to the acceptor and the replica is assigned to the acceptor.
Code review: https://reviews.apache.org/r/13209
was (Author: kanak):
The fix is attached.
As the description states, there are two types of nodes: donors and acceptors.
A donor has a free unit of capacity because it was assigned ceiling capacity
while the acceptor is full because it was assigned floor capacity, but could
otherwise accept the replica. Thus, a unit of capacity is moved from the donor
to the acceptor and the replica is assigned to the acceptor.
> Auto rebalance doesn't assign some replicas when other nodes could make room
> ----------------------------------------------------------------------------
>
> Key: HELIX-151
> URL: https://issues.apache.org/jira/browse/HELIX-151
> Project: Apache Helix
> Issue Type: Bug
> Components: helix-core
> Reporter: Kanak Biscuitwala
> Assignee: Kanak Biscuitwala
> Priority: Minor
> Attachments:
> 0001-HELIX-151-Allow-nodes-using-floor-capacity-to-steal-.patch
>
>
> 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.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira