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

Reply via email to