This is an automated email from the ASF dual-hosted git repository. belliottsmith pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/cassandra-accord.git
commit 3caddca117a2ac154c8e0a4423b36df06569f2b0 Author: Benedict Elliott Smith <[email protected]> AuthorDate: Mon May 18 13:09:48 2026 +0100 CoordinateTransaction should not abort if LocalExecute fails, esp. in case of LogUnavailableException patch by Benedict; reviewed by Ariel Weisberg for CASSANDRA-21835 --- .../src/main/java/accord/coordinate/CoordinateTransaction.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/accord-core/src/main/java/accord/coordinate/CoordinateTransaction.java b/accord-core/src/main/java/accord/coordinate/CoordinateTransaction.java index be6a3b93..652b82d9 100644 --- a/accord-core/src/main/java/accord/coordinate/CoordinateTransaction.java +++ b/accord-core/src/main/java/accord/coordinate/CoordinateTransaction.java @@ -228,7 +228,11 @@ public class CoordinateTransaction extends CoordinatePreAccept<Result> { if (failure != null) { - finishOnFailure(failure); + // we must be able to continue in the face of a local failure esp. in case of LogUnavailableException + if (txnId.hasPrivilegedCoordinator()) + fastPathEnabled = false; + contactNotSelf(null, false); + onFailure(node.id(), failure); } else { @@ -237,7 +241,7 @@ public class CoordinateTransaction extends CoordinatePreAccept<Result> PreAcceptOk ok = (PreAcceptOk) result; // TODO (desired): we can probably still process and record fast path votes from peers, just with different quorum requirements boolean hasCoordinatorVote = txnId.equals(ok.witnessedAt); - if (!hasCoordinatorVote) fastPathEnabled = false; + if (!hasCoordinatorVote && txnId.hasPrivilegedCoordinator()) fastPathEnabled = false; Deps deps = hasCoordinatorVote && txnId.is(PrivilegedCoordinatorWithDeps) ? ok.deps : null; contactNotSelf(deps, hasCoordinatorVote); onSuccess(node.id(), ok); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
