Uploaded image for project: 'WiredTiger'
  1. WiredTiger
  2. WT-10638

Extend testing of runtime RTS correctness

    • Type: Icon: Improvement Improvement
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      None
    • 8
    • 2023-04-04 Bibbidi-Bobbidi-Boo

      WiredTiger uses Rollback to Stable (RTS) to remove data newer than the most recent checkpoint. It is run as part of recovery after a crash, as well as sometimes in-memory if an application wants to revert some recently applied state. The in-memory functionality of RTS is used by MongoDB when a replica set election happens, sometimes a node will have content newer than should be present, and that needs to be rolled back. Rather than forcing the node to stop and running recovery, they want to run RTS on the live system and then re-apply relevant changes via their change log (called the oplog).

      When RTS is run in-memory, it does additional work than is done during recovery, since it needs to remove content from the cache as well as on-disk data files.

      We have extensive Python functional tests of runtime RTS. We should extend internal WiredTiger stress tests to give better coverage of the correctness of runtime RTS.

      The goal of this ticket is to describe the work involved in implementing that test coverage, not in doing the actual implementation.

            Assignee:
            will.korteland@mongodb.com Will Korteland
            Reporter:
            alexander.gorrod@mongodb.com Alexander Gorrod
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: