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
putagainst the revision just read. OnConflict, 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§
- Workload
Config - 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.
dispatcherfans ops across the live replicas; chaos (replica kills) is driven separately by the caller while this runs.