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

Stop allowing NamespaceNotFound errors during startup replication recovery. The oplog replay logic will abort on NamespaceNotFound errors while applying CRUD operations.

    • Type: Icon: Task Task
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Storage
    • Labels:
      None
    • Replication
    • Fully Compatible
    • Storage NYC 2019-01-28, Execution Team 2019-09-09, Execution Team 2019-09-23

      With the old 4.0-style two phase drop, if the server crashes after the actual WT table drop and before a newer checkpoint has been generated (see below), after restart we will have a state where collection is in mdb_catalog but not backed by any WT tables.
      -------- Checkpoint ---- Rename ------------- Actual Drop -------- Server Crash

      Therefore we chose to allow NamespaceNotFound errors in replication recovery.

      After we've done the new 4.2-style two phase drop, this error should never happen during replication recovery because the actual WT table drop will always happen after a stable checkpoint which includes the mdb_catalog changes.

            Assignee:
            backlog-server-repl [DO NOT USE] Backlog - Replication Team
            Reporter:
            benety.goh@mongodb.com Benety Goh
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: