[
https://issues.apache.org/jira/browse/CASSANDRA-16213?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17241860#comment-17241860
]
David Capwell commented on CASSANDRA-16213:
-------------------------------------------
To keep history clear for review, I split each change into different commits
* removed blocking replace on state:
https://github.com/apache/cassandra/pull/780/commits/ebc844428d928789835f2a839ebbe1230aed68fd
* load token/host_id lazy during shadow round rather than startup:
https://github.com/apache/cassandra/pull/780/commits/748d437028843de50b0e271cdacec4dfd27af2df
* host replacement no longer injects a "normal" state transition, but updates
token metadata and gossip state explicitly:
https://github.com/apache/cassandra/pull/780/commits/650a3541da65a367cbce8a623e040c2f4776f23f
> 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]