You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Brandon Williams (Jira)" <ji...@apache.org> on 2021/05/24 23:10:00 UTC
[jira] [Assigned] (CASSANDRA-16692) Unable to replace node with
stale schema
[ https://issues.apache.org/jira/browse/CASSANDRA-16692?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Brandon Williams reassigned CASSANDRA-16692:
--------------------------------------------
Assignee: Brandon Williams
> Unable to replace node with stale schema
> ----------------------------------------
>
> Key: CASSANDRA-16692
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16692
> Project: Cassandra
> Issue Type: Bug
> Components: Cluster/Schema
> Reporter: Matt Lehman
> Assignee: Brandon Williams
> Priority: Normal
> Fix For: 3.0.x, 3.11.x, 4.0-rc
>
>
>
> After CASSANDRA-15158 operators are no longer permitted to replace a terminated node with a stale schema. That is, launching a node to replace NodeA in the following scenario:
> {code:java}
> NodeA (terminated): schema=V0
> All others (alive): schema=V1{code}
> yields:
> {code:java}
> ERROR [main] 2021-04-30 19:10:23,410 CassandraDaemon.java:822 - Exception encountered during startup
> java.lang.RuntimeException: Didn't receive schemas for all known versions within the timeout
> at org.apache.cassandra.service.StorageService.waitForSchema(StorageService.java:887) ~[nf-cassandra-3.0.24.1.jar:3.0.24.1]
> at org.apache.cassandra.service.StorageService.joinTokenRing(StorageService.java:937) ~[nf-cassandra-3.0.24.1.jar:3.0.24.1]
> at org.apache.cassandra.service.StorageService.initServer(StorageService.java:746) ~[nf-cassandra-3.0.24.1.jar:3.0.24.1]
> at org.apache.cassandra.service.StorageService.initServer(StorageService.java:654) ~[nf-cassandra-3.0.24.1.jar:3.0.24.1]
> at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:374) [nf-cassandra-3.0.24.1.jar:3.0.24.1]
> at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:616) [nf-cassandra-3.0.24.1.jar:3.0.24.1]
> at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:809) [nf-cassandra-3.0.24.1.jar:3.0.24.1]{code}
> This can be reproduced like so:
> # Shut down C* on one node in a 3.0.24 cluster
> # Create a new keyspace and table from one of the other nodes
> # Terminate and replace the node on which C* was shut down.
> Waiting for agreement of the nodes not being replaced seems prudent as not doing so could induce data loss, the node being replaced should be exempted from this check.
> Reference CASSANDRA-16577 for more context.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org