You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jonathan Ellis (JIRA)" <ji...@apache.org> on 2009/10/28 22:44:59 UTC

[jira] Commented: (CASSANDRA-435) unbootstrap

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

Jonathan Ellis commented on CASSANDRA-435:
------------------------------------------

Here is what we need to do.

TokenMetadata currently uses a slightly fragile combination of a Set of nodes known to be bootstrapping, and a Map of their tokens -> inetaddress, to determine the ranges Bootstrap nodes are concerned with (for CASSANDRA-497).

We need to change that to instead have a Map of Range -> inetaddress, representing "these are ranges that the given node doesn't own yet, but will, so send updates in that range there as well as its current destinations."

That allows us to use the same structure for bootstrap (new node X gets these ranges, where before it had none) and unbootstrap (existing node Y gets X's ranges, as well as its existing ones).

Then actually implementing unbootstrap is just wiring up the streaming from one node to another.  See comments in the header of BootStrapper.java for the different moving parts involved in bootstrap; the process is basically the same.  (Even to requiring anticompaction to split out the different replica ranges.)

> unbootstrap
> -----------
>
>                 Key: CASSANDRA-435
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-435
>             Project: Cassandra
>          Issue Type: New Feature
>            Reporter: Jonathan Ellis
>            Assignee: Jonathan Ellis
>             Fix For: 0.5
>
>
> add JMX command to tell a node to decommission itself (moving its data to the next node on the ring)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.