dcapwell commented on code in PR #203: URL: https://github.com/apache/cassandra-accord/pull/203#discussion_r2141164935
########## accord-core/src/main/java/accord/coordinate/CoordinatePreAccept.java: ########## @@ -142,7 +142,7 @@ void onNewEpochTopologyMismatch(TopologyMismatch mismatch) proposeInvalidate(node, node.uniqueTimestamp(Ballot::fromValues), txnId, route.homeKey(), (outcome, failure) -> { if (failure != null) mismatch.addSuppressed(failure); - setFailure(mismatch); + callback.accept(null, mismatch); Review Comment: > but the CoordinatePreAccept phase is logically done by this point and ownership is passed to the notAccept / acceptInvalidate phase. "logically" or is `isDone` already set to `true`? Based off the current logic when `isDone` is set to `true` we also notify the callback. So is this block of code trying to double notify the callback? > "It is a callback ... that occurs after isDone is already set." This implies to me we are trying to double notify the callback; is this correct? Can we document this behavior? Can we also keep the `eventListener` logic? -- 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