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]

Reply via email to