[
https://issues.apache.org/jira/browse/CASSANDRA-16692?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17353483#comment-17353483
]
Matt Lehman commented on CASSANDRA-16692:
-----------------------------------------
Per Sumanth: the patch is confirmed working on 3.0.
> 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: Blake Eggleston
> 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: [email protected]
For additional commands, e-mail: [email protected]