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

getMissingDoc in initial sync needs to be resilient to NamespaceNotFound

    • 15

      When oplog application during initial sync encounters an update to a document it doesn't currently have, it runs getMissingDoc to fetch the document from the sync source. Prior to 3.6, if the getMissingDoc queried a collection that had since been dropped on the sync source, it would return an empty BSONObj, and initial sync would ignore that document, assuming that it had been deleted on the sync source.

      In 3.6+, however, we use findOneByUUID to fetch the missing doc, and if you do a query with a UUID and the recipient doesn't know about the UUID, it returns NamespaceNotFound, instead of returning an empty batch like a regular find on a non-existent namespace would.

      This can cause initial sync to fail spuriously

            Assignee:
            evin.roesle@mongodb.com Evin Roesle
            Reporter:
            spencer@mongodb.com Spencer Brody (Inactive)
            Votes:
            2 Vote for this issue
            Watchers:
            11 Start watching this issue

              Created:
              Updated:
              Resolved: