startupRecoveryForRestore can drop tables whose catalog write is not yet checkpointed

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Duplicate
    • Priority: Major - P3
    • None
    • Affects Version/s: 5.0.0, 4.4.7
    • Component/s: None
    • None
    • Storage Execution
    • ALL
    • Execution Team 2023-11-13, Execution Team 2023-11-27
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None

      When using startupRecoveryForRestore we advance the oldest timestamp during startup oplog recovery, as described in SERVER-55766. This causes the drop-pending ident reaper to run, dropping the tables for any collection/index drops that were applied during the recovery. However, those writes may not have been checkpointed yet. Thus if a crash occurs before a subsequent checkpoint, we may end up in a state where the catalog references a table which no longer exists in the storage engine.

            Assignee:
            Gregory Noma
            Reporter:
            Gregory Noma
            Votes:
            0 Vote for this issue
            Watchers:
            13 Start watching this issue

              Created:
              Updated:
              Resolved: