[ 
https://issues.apache.org/jira/browse/CASSANDRA-564?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jaakko Laine updated CASSANDRA-564:
-----------------------------------

    Attachment: 564b-use-tuple-state-left.patch
                564a.patch

For this issue I think there is no point going throug state leaving as that 
state is only for setting pending ranges. That is not very useful for a node 
that is already beyond repair, so simply broadcast STATE_LEFT to remove it from 
token metadata. The "cleanest" way would be to have separate state for this 
gossip, but that would add data to gossip just for this purpose, which is not 
very good option. Instead use STATE_LEFT with some small maneuvering in 
onChange.

Attached two alternative patches for this issue with slightly different 
approach:

564a: do not change current gossiping and just handle both normal leave and 
remove token commands in onChange.

564b: modify STATE_LEFT to a tuple (REMOVE_TOKEN|LEFT_NORMALLY),<token>. This 
gives small extra amount of safety as onChange can make extra checks based on 
what is supposed to be going on. This approach overlaps slightly with the 
discussion on issue #572 with regard state gossip format.

Both patches include small tweak to STATE_NORMAL handling code as well.


> Provide recoverability when a node dies and it is impossible to get the same 
> IP.
> --------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-564
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-564
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Anthony Molinaro
>            Priority: Minor
>             Fix For: 0.5
>
>         Attachments: 564a.patch, 564b-use-tuple-state-left.patch
>
>
> From the descriptions on the mailing list, when a node dies permanently from 
> hardware or other failure and you need to replace it, it must have the same 
> IP.  For people running in cloud environments, this is often times 
> impossible.  So it would be very useful if there was a way to replace a node 
> with a new node without requiring the same IP.

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

Reply via email to