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

CollectionCloner should handle QueryPlanKilled on collection drop, allowing query to raise it in FCV 4.2

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major - P3
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: 4.1 Desired
    • Component/s: Querying, Replication
    • Labels:
      None

      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:

      https://github.com/mongodb/mongo/blob/bf58b1ab2abfb2a3ab7a86c154f9f5954ed6f98c/src/mongo/db/repl/collection_cloner.cpp#L576-L582

      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".

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated: