Make AsyncResultsMerger kill sequence issue killCursors without waiting for outstanding batches

XMLWordPrintableJSON

    • Fully Compatible
    • Query 2018-01-29
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None

      Currently, when a killCursors command is issued against a cursor that is in use (e.g. is pinned and executing a getMore), the cursor will not be cleaned up. In order to accommodate this, the AsyncResultsMerger must delay issuing killCursors commands until all of the outstanding batch requests have been received.

      However, we plan to change killCursors to clean up pinned cursors under SERVER-21710. Once this work is complete, AsyncResultsMerger::kill() can schedule killCursors to run against all remote cursors without delay. Once these requests have been scheduled, the AsyncResultsMerger itself can be promptly deleted.

            Assignee:
            Ian Boros
            Reporter:
            David Storch
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: