The server calculates the "idle time" for a cursor based on how long has passed since the last request was received on the cursor. Instead, the server should calculate idle time for cursors based on how long has been since results were last returned.
For example, suppose that a cursor is created on a server with a 1-minute idle cursor timeout. If it takes 45 seconds to generate a batch of results for this cursor, then the current implementation will time out the cursor only 15 seconds after these results are received. Instead, the cursor should be timed out 1 minute after results are received.
The scope of the work for this ticket includes updating the mongod and mongos cursor management code to 1) not time out pinned cursors, and 2) updating the "last active" time on the cursor when it is returned to the manager, instead of when it is checked out from the manager.
- duplicates
-
SERVER-28327 ClientCursorMonitor can timeout cursors prematurely
- Closed
- is duplicated by
-
SERVER-28410 ClientCursor timeout period should not include time spent executing previous getMore
- Closed
- related to
-
SERVER-28327 ClientCursorMonitor can timeout cursors prematurely
- Closed