cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Pavel Yaskevich (JIRA)" <>
Subject [jira] Updated: (CASSANDRA-1427) Optimize loadbalance/move for moves within the current range
Date Tue, 01 Feb 2011 15:05:29 GMT


Pavel Yaskevich updated CASSANDRA-1427:

    Attachment: CASSANDRA-1427.patch

This is initial patch which does following:

Replaces leave/bootstrap with:
   (node registers it's state as MOVING).

   a). Call BootStrapper.getBalancedToken(...) to get token to move to;
   b). For each non system table (keyspace) get collection of the range in the current state
and "after move" state; 
   c). Calculate ranges to fetch from the ring (skipping intersection part of current/updated
   d). Fetch ranges and move to a new token.

Questions left undone (unanswered):

1). What should we do with the ranges left on the node if we are moving to the completely
new range (no intersection with old range), should we stream them to the ring?
2). Should we do 1). always (on any move)?

Requesting comments!

> Optimize loadbalance/move for moves within the current range
> ------------------------------------------------------------
>                 Key: CASSANDRA-1427
>                 URL:
>             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
>  Remaining Estimate: 42h
> Currently our move/loadbalance operations only implement case 2 of the Ruhl algorithm
described at
> We should add functionality to optimize moves that take/give ranges to a node's direct

This message is automatically generated by JIRA.
For more information on JIRA, see:


View raw message