[ 
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

Reply via email to