-
Type: Task
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Test Model
-
None
Up until now, workload execution in test/model has been largely deterministic, even with multi-threaded execution introduced in WT-11623. Figure out which parts of the execution can be made non-deterministic and make them so, and account for it during verification. Note that non-deterministic execution should be optional; it should not replace the current deterministic execution.
The biggest source of non-determinism would most likely come from not being entirely certain about which transactions have finished before the latest checkpoint, assuming that it would be possible for checkpoint to not having to wait for all transactions prior to it in the workload to complete. The verification should, for example, in this case assume that the effects of some transactions would be missing and mark the verification as successful if the transaction is missing in its entirety (e.g., as opposed to seeing a partial transaction).