[ 
https://issues.apache.org/jira/browse/CASSANDRA-1427?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12989263#comment-12989263
 ] 

Nick Bailey commented on CASSANDRA-1427:
----------------------------------------

Regarding the patch:
1. There is no need for the multiple loadbalance method signatures. Move is for 
specifying a token. Loadbalance is for letting c* choose.
2. The general approach seems like it should work but there are a few things 
missing.
* The pending ranges calculation needs to include moving nodes. This 
calculation is what causes writes to go to all the right nodes when a node is 
entering/leaving the ring so that writes that happened during the ring change 
but weren't necessarily streamed aren't lost. 
* Along with the new application state, SS needs to handle that state. When the 
moving node gossips the moving state to other nodes, they should update their 
pending ranges as well. This means the token the node is moving to will need to 
be included in the state.
* Once the move is completed the node needs to return to a normal state
* Along with that the node needs to be removed from the moving nodes list in 
TMD, so the pending ranges calculation will be correct again.
* Along with the additional Application state, SS needs to handle that state in 
the onChange method

> Optimize loadbalance/move for moves within the current range
> ------------------------------------------------------------
>
>                 Key: CASSANDRA-1427
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1427
>             Project: Cassandra
>          Issue Type: Sub-task
>          Components: Core
>    Affects Versions: 0.7 beta 1
>            Reporter: Nick Bailey
>            Assignee: Pavel Yaskevich
>             Fix For: 0.8
>
>         Attachments: CASSANDRA-1427.patch
>
>   Original Estimate: 42h
>          Time Spent: 42h
>  Remaining Estimate: 0h
>
> Currently our move/loadbalance operations only implement case 2 of the Ruhl 
> algorithm described at 
> https://issues.apache.org/jira/browse/CASSANDRA-192#action_12713079.
> We should add functionality to optimize moves that take/give ranges to a 
> node's direct neighbors.

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to