-
Type: Task
-
Resolution: Won't Fix
-
Priority: Major - P3
-
None
-
Affects Version/s: 3.6.3, 3.7.2
-
Component/s: Replication, Storage
-
(copied to CRM)
-
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
- is related to
-
SERVER-33617 fix collMod to update by UUID during oplog application
- Closed
- related to
-
SERVER-31264 CollectionCloner should ignore NamespaceNotFound errors
- Closed
-
SERVER-31339 Behavior difference between count command with namespace or UUID
- Closed
-
SERVER-34110 Ignore NamespaceNotFound errors when refetching documents during rollback
- Closed