You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Sam Tunnicliffe (Jira)" <ji...@apache.org> on 2025/04/25 14:19:00 UTC
[jira] [Commented] (CASSANDRA-20600) DB Crashes on startup if accord tables exist but accord is disabled
[ https://issues.apache.org/jira/browse/CASSANDRA-20600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17947338#comment-17947338 ]
Sam Tunnicliffe commented on CASSANDRA-20600:
---------------------------------------------
Almost identical to CASSANDRA-20452 and I imagine the solution should probably be similar. Once an operation has been recorded in the metadata log, it must always be possible to apply it, regardless of external state such as the current config. In this case, it's log replay at startup where the problem is presenting, but it could just as easily happen if config is not consistent across nodes.
> DB Crashes on startup if accord tables exist but accord is disabled
> -------------------------------------------------------------------
>
> Key: CASSANDRA-20600
> URL: https://issues.apache.org/jira/browse/CASSANDRA-20600
> Project: Apache Cassandra
> Issue Type: Bug
> Components: Accord
> Reporter: Jon Haddad
> Priority: Normal
>
> We should at least have a clear message why the DB isn't starting instead of an exception so the user knows this isn't a bug.
> I'm not sure if there's a better approach other than an error. Backing out of accord by disabling the config while there's tables seems like a significant user error so preventing startup might be the only sane thing we can do.
> {noformat}
> ERROR [main] 2025-04-25T14:01:08,040 CassandraDaemon.java:926 - Exception encountered during startup
> java.lang.IllegalStateException: Can't dereference Success for a rejected execution: INVALID: Cannot create table games.user_scores with transactional mode full with accord.enabled set to false
> at org.apache.cassandra.tcm.Transformation$Rejected.success(Transformation.java:177)
> at org.apache.cassandra.tcm.log.LogState.flatten(LogState.java:112)
> at org.apache.cassandra.tcm.log.LocalLog.replayPersisted(LocalLog.java:597)
> at org.apache.cassandra.tcm.log.LocalLog.ready(LocalLog.java:679)
> at org.apache.cassandra.tcm.Startup.initializeAsNonCmsNode(Startup.java:162)
> at org.apache.cassandra.tcm.Startup.initialize(Startup.java:110)
> at org.apache.cassandra.tcm.Startup.initialize(Startup.java:91)
> at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:274)
> at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:745)
> at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:899)
> {noformat}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org