Skip to main content

Module workload

Module workload 

Source
Expand description

The concurrent write workload and result collection for the oracle.

Each writer runs two op streams against the replica Dispatcher:

  • Contended RMW on a small set of shared keys — read the current record, append this op’s globally-unique id to the record’s comma-separated set, and conditionally put against the revision just read. On Conflict, re-read and retry (bounded). This is the arbitration proof: if conditional writes are correct, every committed op-id survives in the final set.
  • Unique-key writes — disjoint keys written once, later read back to prove no acked write is lost across replica kills.

After all writers finish, run reads every key’s final state and returns a SoakStats for oracle::check.

Structs§

WorkloadConfig
Workload shape. The bounded gate and the deep soak both use this; they differ only in the magnitudes and (for the deep soak) running against a duration.

Functions§

run
Run the workload to completion and collect stats for the oracle. dispatcher fans ops across the live replicas; chaos (replica kills) is driven separately by the caller while this runs.