[
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]