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:
Currently, it handles OperationFailed and CursorNotFound. However, in existing versions, collection drops can result in a getMore returning QueryPlanKilled. This error code should be handled as well.
As part of moving ClientCursor ownership to the global cursor manager (
SERVER-37451) collection drops will no longer result in CursorNotFound. Furthermore, once the CollectionCloner is fixed to handle QueryPlanKilled, the query system should change to always raise QueryPlanKilled on collection drop once the feature compatibility version is raised to "4.2".