Add logging to test format predictable replay

XMLWordPrintableJSON

    • 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

            Assignee:
            Alexander Pullen
            Reporter:
            Alexander Pullen
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: