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

Paulo Motta commented on CASSANDRA-16213:
-----------------------------------------

Thanks for the update [~dcapwell]. I think 5) is not required as endpoint 
states with heartbeat version -1 need not be sent by {{examineGossiper}}, just 
by {{examineShadowState}} where all states are sent. I made this update [on 
this 
commit|https://github.com/dcapwell/cassandra/pull/1/commits/35802d68c6fa195a93b92e7bc779d3d8c94f07e6].

I don't think we need the property 
{{cassandra.allow_non_normal_replace_address}} is needed since we can achieve 
this via the property {{cassandra.replacement_allowed_gossip_statuses}}, so I 
removed it [on this 
commit|https://github.com/dcapwell/cassandra/pull/1/commits/8f23a70948ef020dba222cfb80a21e2d5322c672].

I opened [this PR|https://github.com/dcapwell/cassandra/pull/1] to your branch 
with these suggestions and some other minor nits.

As far as I understood 
{{HostReplacementOfDowedClusterTest.hostReplacementOfDeadNode}} tests an 
orderly shutdown, that is, when the node announces it's going to leave the 
cluster by broadcasting the shutdown state. Can we maybe also test with an 
abrupt shutdown, that is when the shutdown state is not broadcast and the node 
to be replaced is on NORMAL state?

Other than that, this patch looks good to me.

> Cannot replace_address /X because it doesn't exist in gossip
> ------------------------------------------------------------
>
>                 Key: CASSANDRA-16213
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-16213
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Cluster/Gossip, Cluster/Membership
>            Reporter: David Capwell
>            Assignee: David Capwell
>            Priority: Normal
>             Fix For: 4.0-beta
>
>
> We see this exception around nodes crashing and trying to do a host 
> replacement; this error appears to be correlated around multiple node 
> failures.
> A simplified case to trigger this is the following
> *) Have a N node cluster
> *) Shutdown all N nodes
> *) Bring up N-1 nodes (at least 1 seed, else replace seed)
> *) Host replace the N-1th node -> this will fail with the above
> The reason this happens is that the N-1th node isn’t gossiping anymore, and 
> the existing nodes do not have its details in gossip (but have the details in 
> the peers table), so the host replacement fails as the node isn’t known in 
> gossip.
> This affects all versions (tested 3.0 and trunk, assume 2.2 as well)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to