On mongod, a killCursors command or OP_KILL_CURSORS message acting on a pinned cursor will fail to kill the cursor. By contrast, the mongos ClusterCursorManager can kill an alive cursor regardless of whether or not it is pinned. We should change the mongod behavior to be consistent with that of mongos. The killCursors operation should make a best effort to kill all cursors, irrespective of whether the cursor is currently in use. Failing to kill in this edge case opens the possibility of leaked ClientCursors.
- is depended on by
-
SERVER-32307 Make AsyncResultsMerger kill sequence issue killCursors without waiting for outstanding batches
- Closed
- is related to
-
JAVA-2651 Unable to exit from hasNext() for tailable cursor if cursor was closed from another thread
- Closed
-
DRIVERS-421 Cursor iteration should complete (abnormally) when another thread closes the cursor
- Closed
- related to
-
SERVER-28090 Add ability to interrupt operations using pinned cursors on mongos
- Closed