helix-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kanak Biscuitwala (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (HELIX-151) Auto rebalance doesn't assign some replicas when other nodes could make room
Date Fri, 02 Aug 2013 17:27:49 GMT

    [ 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

Mime
View raw message