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

Prevent any data handles from being opened during metadata recovery

    • Type: Icon: Bug Bug
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Logging
    • Storage Engines
    • StorEng - Defined Pipeline, StorEng - 2025-04-25

      In WT-14376, the turtle caused recovery to begin at checkpoint A, but later in the log there was an additional checkpoint B, which included a history file checkpoint. WT recovery first recovers metadata only from A to the end of the log, and the history file was errantly opened during this recovery (before seeing B). This created a dhandle that had knowledge of checkpoint A.   When recover sees B, a new checkpoint is made from the history file.  Then the regular (non-metadata) recover runs from A to the end of the log, which caused history changes to the Btree (using the dhandle with old information).  When the next checkpoint occurs (at the end of recovery), there is a conflict between the dhandle's checkpoint information and the metadata's checkpoint information.

      To avoid this, the history store should not be opened during the metadata recovery, and further, we should require that no other data files be opened.

            Assignee:
            backlog-server-storage-engines [DO NOT USE] Backlog - Storage Engines Team
            Reporter:
            donald.anderson@mongodb.com Donald Anderson
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: