belliottsmith commented on code in PR #213: URL: https://github.com/apache/cassandra-accord/pull/213#discussion_r2218790145
########## accord-core/src/main/java/accord/local/SafeCommandStore.java: ########## @@ -170,6 +170,8 @@ protected SafeCommand maybeCleanup(SafeCommand safeCommand, @Nonnull StorePartic { Command command = safeCommand.current(); StoreParticipants participants = command.participants().supplementOrMerge(command.saveStatus(), supplemental); + if (!commandStore().safeToRespond(command.txnId(), command.route())) Review Comment: We should be able to roll this into the internal maybeCleanup call, by just checking status.any(UNSAFE/LOCALLY_CORRUPT/whatever) We might want to somehow capture whether this load is to reply to an external request or process the transaction locally, else we may struggle to handle partial rebootstraps where a transaction is considered known for one range but not for another (i.e., the transaction is no doubt known, but the log is otherwise not safe for one part). Either that, or we may want to define this as only affecting transactions that are fully covered by UNSAFE/LOCALLY_CORRUPT, in which case we would only throw the exception if status.all(UNSAFE/LOCALLY_CORRUPT). In this case, it might be the case that we can consider merging this behaviour with Vestigial handling. I don't have a well formed opinion about how best we should proceed here, but can experiment with the patch if you like, or we can discuss and you can explore the possibility space. -- 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