KVSRead¶
- from Shard
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¶
- to Shard: KVSWrite
for eachvalue the TransactionExecutable outputs to write send a KVSWrite message to the appropriate Shard - to Shard: KVSReadRequest
for eachlazy read the TransactionExecutable now requires, and each lazy read the TransactionExecutable hasn't read when it terminates: send a KVSReadRequest message to the appropriate Shard -
to Worker Engine: ExecutorFinished
IfTransactionExecutable has terminatedthennotify thecuratorspecified in ExecuteTransactionthat the transaction is done with an ExecutorFinished. - to User,Solver: ExecutionSummary The issuer of the transaction request is always provided with the ExecutionSummary
(Wiki) links on this page
- Shard
- Executor
- TransactionCandidate
- Shard
- TxFingerprint
- KVSRead
- Executor
- TxFingerprint
- KVSKey
- KVSDatum
- TxFingerprint
- TxFingerprint
- TransactionCandidate
- Executor
- TransactionExecutable
- TransactionExecutable
- KVSWrite
- Executor
- Shard
- KVSWrite
- TransactionExecutable
- KVSWrite
- Shard
- Shard
- KVSReadRequest
- TransactionExecutable
- TransactionExecutable
- KVSReadRequest
- Shard
- Worker Engine
- ExecutorFinished
- TransactionExecutable
- ExecuteTransaction
- ExecutorFinished
- ExecutionSummary
- TransactionRequest
- ExecutionSummary