dcapwell commented on code in PR #103:
URL: https://github.com/apache/cassandra-accord/pull/103#discussion_r1674872141
##########
accord-core/src/main/java/accord/local/Bootstrap.java:
##########
@@ -140,6 +140,8 @@ void start(SafeCommandStore safeStore0)
.flatMap(syncPoint -> node.withEpoch(epoch, () ->
store.submit(contextFor(localSyncId, syncPoint.waitFor.keyDeps.keys(),
KeyHistory.COMMANDS), safeStore1 -> {
if (valid.isEmpty()) // we've lost ownership of the range
return AsyncResults.success(Ranges.EMPTY);
+ if (!syncPoint.waitFor.isEmpty() &&
!node.topology().hasEpoch(syncPoint.waitFor.minTxnId().epoch()))
Review Comment:
this would happen when new nodes join the ring in C* as they would load the
epochs from w/e existed when the JVM started, but not be based off what's
in-flight. Since C* now discovers what epochs to care about, this assertion
makes sure we never try to add a txn with an unknown epoch
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]