[
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