Skip to content

KVSRead

Purpose

Executors have to read data from keys to execute TransactionCandidates. When a Shard has determined what the value read is at the appropriate timestamp, it sends a KVSRead to the appropriate Executor.

Structure

Field Type Description
timestamp TxFingerprint the timestamp at which the datum was read
key KVSKey the key from which the datum is read
data KVSDatum the datum read

The timestamp should match the timestamp of the TransactionCandidate for this Executor.

Effects

These read values are input for the TransactionExecutable. Some may be lazy inputs, and some may never be used, but they're all inputs. If this lets us finish the TransactionExecutable, it may trigger KVSWrites (outputs of the executable), and shutting down the Executor entirely.

Triggers