Prevent any data handles from being opened during metadata recovery

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Fixed
    • Priority: Major - P3
    • WT12.0.0, 8.2.0-rc0
    • Affects Version/s: None
    • Component/s: Logging
    • Storage Engines, Storage Engines - Foundations
    • StorEng - Defined Pipeline, StorEng - 2025-04-25
    • None

      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:
            Donald Anderson
            Reporter:
            Donald Anderson
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: