diff --git a/accord-core/src/main/java/accord/local/Command.java b/accord-core/src/main/java/accord/local/Command.java index dea27bae1..b66666bcc 100644 --- a/accord-core/src/main/java/accord/local/Command.java +++ b/accord-core/src/main/java/accord/local/Command.java @@ -183,6 +183,7 @@ public boolean equals(Object o) && saveStatus() == command.saveStatus() && durability() == command.durability() && Objects.equals(participants(), command.participants()) + && Objects.equals(acceptedOrCommitted(), command.acceptedOrCommitted()) && Objects.equals(promised(), command.promised()); } 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 c7d9e0441..70af54f1f 100644 --- a/accord-core/src/test/java/accord/impl/basic/Cluster.java +++ b/accord-core/src/test/java/accord/impl/basic/Cluster.java @@ -74,6 +74,7 @@ import accord.impl.DefaultRemoteListeners; import accord.impl.DefaultTimeouts; import accord.impl.DurabilityScheduling; +import accord.impl.InMemoryCommandStore; import accord.impl.InMemoryCommandStore.GlobalCommand; import accord.impl.MessageListener; import accord.impl.PrefixedIntHashKey; @@ -762,6 +763,10 @@ public static Map run(Id[] nodes, int[] prefixes, MessageLis ((DefaultRemoteListeners) nodeMap.get(id).remoteListeners()).clear(); Int2ObjectHashMap> beforeStores = copyCommands(stores.all()); + for (CommandStore store : stores.all()) + { + ((InMemoryCommandStore) store).clearForTesting(); + } // Re-create all command stores nodeMap.get(id).commandStores().restoreShardStateUnsafe(t -> {}); stores = nodeMap.get(id).commandStores(); @@ -927,15 +932,15 @@ private static void verifyConsistentRestore(Int2ObjectHashMap store.unsafeCommands().size())