Details
-
Task
-
Resolution: Won't Do
-
Major - P3
-
None
-
None
Description
Description
Description:
I'm not sure if we really should document this or not, but there are implications for upgrade. It's pretty deep in the weeds, but see my latest public comment. Let me know if you have any questions.
Engineering Ticket Description:
The CollectionCloner, used in the first phase of initial sync, has code to interpret error codes from the getMore command as indicative of a collection drop:
In 4.0 and older branches, it handles OperationFailed and CursorNotFound. However, collection drops can result in a getMore returning QueryPlanKilled. This error code should be handled as well. This was fixed in 4.1.7 by
SERVER-37451, but it still needs to be fixed in older branches. As part of moving ClientCursor ownership to the global cursor manager,SERVER-37451changed the server's behavior such that collection drops result in QueryPlanKilled rather than CursorNotFound. This necessitated an immediate fix in master in order to ensure that initial sync remains resilient to collection drops. This ticket tracks the remaining backport work.
Scope of changes
Impact to Other Docs
MVP (Work and Date)
Resources (Scope or Design Docs, Invision, etc.)
Attachments
Issue Links
- documents
-
SERVER-38722 CollectionCloner should handle QueryPlanKilled on collection drop
-
- Closed
-