This is an automated email from the ASF dual-hosted git repository. benedict pushed a commit to branch fix-tests-2 in repository https://gitbox.apache.org/repos/asf/cassandra-accord.git
commit 6a8f4b14c2bed4ebe616441eeeb560607f46b997 Author: Benedict Elliott Smith <[email protected]> AuthorDate: Tue Nov 26 13:33:20 2024 +0000 fix --- accord-core/src/main/java/accord/local/cfk/Updating.java | 2 +- accord-core/src/main/java/accord/messages/Await.java | 2 +- accord-core/src/test/java/accord/impl/basic/Cluster.java | 6 ++++++ accord-core/src/test/java/accord/impl/list/ListAgent.java | 4 +++- 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/accord-core/src/main/java/accord/local/cfk/Updating.java b/accord-core/src/main/java/accord/local/cfk/Updating.java index 72743485..6dd5e290 100644 --- a/accord-core/src/main/java/accord/local/cfk/Updating.java +++ b/accord-core/src/main/java/accord/local/cfk/Updating.java @@ -816,7 +816,7 @@ class Updating { readyToApply = waitingToApply = false; } - else if (waitingKind == ExclusiveSyncPoint && hasFutureDependency && readyToApply) + else if (waitingKind == ExclusiveSyncPoint && hasFutureDependency && waitingToApply) { int w = Arrays.binarySearch(byId, waitingTxnId); if (w < 0) w = -1 - w; diff --git a/accord-core/src/main/java/accord/messages/Await.java b/accord-core/src/main/java/accord/messages/Await.java index 994f6d65..450db36a 100644 --- a/accord-core/src/main/java/accord/messages/Await.java +++ b/accord-core/src/main/java/accord/messages/Await.java @@ -131,7 +131,7 @@ public class Await implements Request, MapReduceConsume<SafeCommandStore, Void>, StoreParticipants participants = StoreParticipants.execute(safeStore, scope, txnId, minAwaitEpoch, maxAwaitEpoch); SafeCommand safeCommand = safeStore.get(txnId, participants); Command command = safeCommand.current(); - Invariants.checkState(minAwaitEpoch == txnId.epoch() || !command.known().executeAt.isDecidedAndKnownToExecute() || minAwaitEpoch == command.executeAt().epoch()); + Invariants.checkState(minAwaitEpoch >= txnId.epoch()); if (command.saveStatus().compareTo(blockedUntil.minSaveStatus) >= 0) return null; diff --git a/accord-core/src/test/java/accord/impl/basic/Cluster.java b/accord-core/src/test/java/accord/impl/basic/Cluster.java index 8223817c..a0db0f7e 100644 --- a/accord-core/src/test/java/accord/impl/basic/Cluster.java +++ b/accord-core/src/test/java/accord/impl/basic/Cluster.java @@ -784,6 +784,12 @@ public class Cluster if (store.unsafeGetRedundantBefore().min(beforeCommand.participants().owns(), RedundantBefore.Entry::shardRedundantBefore).compareTo(txnId) > 0) continue; + if (beforeCommand.participants().owns().isEmpty() && store.durableBefore().min(txnId).compareTo(Status.Durability.MajorityOrInvalidated) >= 0) + continue; + + if (!beforeCommand.saveStatus().hasBeen(Status.PreCommitted) && store.unsafeGetRedundantBefore().min(beforeCommand.participants().owns(), RedundantBefore.Entry::locallyRedundantBefore).compareTo(txnId) > 0) + continue; + Invariants.checkState(false); } } diff --git a/accord-core/src/test/java/accord/impl/list/ListAgent.java b/accord-core/src/test/java/accord/impl/list/ListAgent.java index 7eb62d6f..eb3e602d 100644 --- a/accord-core/src/test/java/accord/impl/list/ListAgent.java +++ b/accord-core/src/test/java/accord/impl/list/ListAgent.java @@ -27,6 +27,7 @@ import java.util.function.LongSupplier; import accord.api.Agent; import accord.api.ProgressLog; import accord.api.Result; +import accord.coordinate.EpochTimeout; import accord.impl.basic.Packet; import accord.impl.mock.Network; import accord.local.Command; @@ -109,7 +110,8 @@ public class ListAgent implements Agent @Override public void onUncaughtException(Throwable t) { - onFailure.accept(t); + if (!(t instanceof EpochTimeout)) + onFailure.accept(t); } @Override --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
