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

Paulo Motta commented on CASSANDRA-12485:
-----------------------------------------

bq. is that correct?

Hmm, not really. You should add a new check on 
{{StorageService.checkForEndpointCollision}}, similar to the 
{{isSafeForStartup}}), but instead of checking if a live node with the same IP 
exists, this should check if there are live nodes with the same tokens as the 
new node and prevent bootstrap in this case.

> Always require replace_address to replace existing token
> --------------------------------------------------------
>
>                 Key: CASSANDRA-12485
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-12485
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Distributed Metadata
>            Reporter: Paulo Motta
>            Priority: Minor
>              Labels: lhf
>
> CASSANDRA-10134 prevented replace an existing node unless 
> {{\-Dcassandra.replace_address}} or 
> {{\-Dcassandra.allow_unsafe_replace=true}} is specified.
> We should extend this behavior to tokens, preventing a node from joining the 
> ring if another node with the same token already existing in the ring, unless 
> {{\-Dcassandra.replace_address}} or 
> {{\-Dcassandra.allow_unsafe_replace=true}} is specified in order to avoid 
> catastrophic scenarios.
> One scenario where this can easily happen is if you replace a node with 
> another node with a different IP, and after some time you restart the 
> original node by mistake. The original node will then take over the tokens of 
> the replaced node (since it has a newer gossip generation).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to