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

Cursor idle time should be calculated based on time that results were returned, instead of time that request was made

    • Type: Icon: Improvement Improvement
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • 3.5.7
    • Affects Version/s: None
    • Component/s: Querying
    • None
    • Minor Change

      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.

            Assignee:
            charlie.swanson@mongodb.com Charlie Swanson
            Reporter:
            rassi J Rassi
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: