-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Test Format
-
None
-
Storage Engines - Foundations
-
None
-
None
Summary
During the implementation of WT-10570 (enable REMOVE in test/format predictable replay), a per-operation logging mechanism was added to help diagnose data mismatches between runs. The logging was removed before merging because it ended up adding significant complexity to already-complex test/format logic. This ticket tracks a future clean implementation of that logging if it proves useful.
Scope
If diagnostics are needed for future predictable replay debugging, implement a simpler logging mechanism that:
- Writes to a per-run file only (no stderr by default) — format is run interactively by the team
- Minimises state carried across the transaction loop (ideally no persistent flags between op selection and commit)
- Handles the retry path cleanly so re-seeded data_rnd on rollback doesn't produce duplicate or out-of-order log entries
- Is clearly guarded by GV(RUNS_PREDICTABLE_REPLAY) and has no impact on the normal non-replay code path
Acceptance criteria
- Given two diverging predictable replay runs, a diff of their log files immediately identifies the first divergent operation (lane, ts, keyno, table, ret)
- No output to stderr unless explicitly requested
- No increase in complexity of the ops loop rollback/retry paths
- is related to
-
WT-10570 Allow remove operations in test/format running with predictable replay
-
- Closed
-