-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Aggregation Framework, Querying, Sharding
-
None
-
Fully Compatible
-
Query 2018-01-29
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.
- depends on
-
SERVER-21710 Allow pinned ClientCursors to be killed on mongod
- Closed
- is depended on by
-
SERVER-24978 Second batches in aggregation framework are asked synchronously
- Closed
-
SERVER-28090 Add ability to interrupt operations using pinned cursors on mongos
- Closed
- is duplicated by
-
SERVER-17696 Terminate sharded queries immediately after a failure
- Closed
- related to
-
SERVER-6496 provide a way to kill a sharded query on all shards
- Closed
-
SERVER-4984 make it possible to interrupt operations in mongos
- Closed