This is an automated email from the ASF dual-hosted git repository.

dcapwell pushed a commit to branch CASSANDRA-18519
in repository https://gitbox.apache.org/repos/asf/cassandra-accord.git

commit 8c99d1c059814e4b8d1254a37b210ab3189c6f18
Author: David Capwell <dcapw...@gmail.com>
AuthorDate: Wed May 10 14:11:38 2023 -0700

    Lazy deserialize fields from CommandsForKey to avoid when not needed
---
 accord-core/src/main/java/accord/impl/CommandsForKey.java | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/accord-core/src/main/java/accord/impl/CommandsForKey.java 
b/accord-core/src/main/java/accord/impl/CommandsForKey.java
index a85ac114..d87c95a7 100644
--- a/accord-core/src/main/java/accord/impl/CommandsForKey.java
+++ b/accord-core/src/main/java/accord/impl/CommandsForKey.java
@@ -148,17 +148,17 @@ public class CommandsForKey
             for (D data : (testTimestamp == TestTimestamp.BEFORE ? 
commands.headMap(timestamp, false) : commands.tailMap(timestamp, 
false)).values())
             {
                 TxnId txnId = loader.txnId(data);
-                Timestamp executeAt = loader.executeAt(data);
-                SaveStatus status = loader.saveStatus(data);
-                List<TxnId> deps = loader.depsIds(data);
                 if (!testKind.test(txnId.rw())) continue;
-                // If we don't have any dependencies, we treat a dependency 
filter as a mismatch
-                if (testDep != ANY_DEPS && 
(!status.known.deps.hasProposedOrDecidedDeps() || (deps.contains(depId) != 
(testDep == WITH))))
-                    continue;
+                SaveStatus status = loader.saveStatus(data);
                 if (minStatus != null && minStatus.compareTo(status.status) > 
0)
                     continue;
                 if (maxStatus != null && maxStatus.compareTo(status.status) < 
0)
                     continue;
+                List<TxnId> deps = loader.depsIds(data);
+                // If we don't have any dependencies, we treat a dependency 
filter as a mismatch
+                if (testDep != ANY_DEPS && 
(!status.known.deps.hasProposedOrDecidedDeps() || (deps.contains(depId) != 
(testDep == WITH))))
+                    continue;
+                Timestamp executeAt = loader.executeAt(data);
                 initialValue = map.apply(key, txnId, executeAt, initialValue);
                 if (initialValue.equals(terminalValue))
                     break;


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to