Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-29213

Have KVWiredTigerEngine implement StorageEngine::recoverToStableTimestamp

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.7.4
    • Component/s: Storage

      Description

      There is a system state in MongoDB called replication rollback, where a node in a replica set needs to be able to reset it's state to an earlier point in time.

      That is currently handled by undoing operations via the oplog, but that's technically difficult. We are working on adding a mechanism that means the oplog will only need to be applied forwards instead. In order to use that mechanism for replication rollback MongoDB will need a method for resetting a WiredTiger database to an earlier point in time, and then running recovery to return the state to the desired point in time.

      The goal of this ticket will be adding a function to the storage engine interface, which shuts down a storage engine, then re-opens and recovers the state as it would be after a fresh restart. In the case of WiredTiger this will be with all collections having data at a certain point in time, and the oplog containing information that at least covers the replica wide durable point.

      After this Storage Engine restart method has been called it is expected that the oplog will be replayed to re-create collection data that wasn't durable before the restart.

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                10 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: