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
    • 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: