belliottsmith commented on code in PR #4227: URL: https://github.com/apache/cassandra/pull/4227#discussion_r2184786475
########## src/java/org/apache/cassandra/service/accord/AccordService.java: ########## @@ -243,18 +243,23 @@ public synchronized static void startup(NodeId tcmId) } instance = as; - replayJournal(as); + // If we hit an error during journal replay, we need to mark ourselves unsafe to read, perform full data repair, + // and trigger RX before we can continue serving traffic + if (replayJournal(as) && ClusterMetadata.current().directory.allJoinedEndpoints().size() > 1) + AsyncChains.awaitUninterruptibly(as.node().commandStores().rebootstrap(as.node())); } @VisibleForTesting - public static void replayJournal(AccordService as) + public static boolean replayJournal(AccordService as) Review Comment: I think it is surprising for `true` to mean replay failed. I think we should either use `false`, or introduce an `enum` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: pr-unsubscr...@cassandra.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: pr-unsubscr...@cassandra.apache.org For additional commands, e-mail: pr-h...@cassandra.apache.org