Skip to content

ExecuteTransaction

Purpose

The mempool engines instruct the Executor that a new TransactionCandidate has been recorded, its locks are being acquired, and will eventually need to be executed.

Structure

Field Type Description
executable TransactionExecutable "code" to be executed post-ordering
label TransactionLabel information about keys that the transaction can rightfully access
timestamp TxFingerprint (partial) ordering information (sufficient for V1)
curator ExternalIdentity the Worker Engine to be informed when execution completes (e.g. for logs)
issuer ExternalIdentity the ID of the sender of the TransactionRequest

Effects

This message is sent to an Executor that is already running. Concurrently, when the Worker Engine sends a KVSAcquireLock to Shards, they can include eager reads, which will result in KVSReads sent to this Executor.

Triggers

Todo

make this precise :-/

Notes

  • Getting served read requests amounts to locks being granted by the shards.

Todo

contention footprint description