ExportXMLWordPrintableJSON

    • Type: New Feature
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Query Execution
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Hook into CursorManager::timeoutCursors to check for memory load shedding at the same 4s frequency that we check for timeouts. The challenges here revolve around the lack of opCtx:

      • No opCtx in the sweep → kill the cursor directly (dispose / executor->markAsKilled(QueryMemoryLimitExceeded)), like timeout does, rather than opCtx->markKilled.
      • dt = sweep cadence (clientCursorMonitorFrequencySecs, ~4 s) and shedProbability caps dt at 1 s, so idle cursors would under-shed unless we give this path its own interval/cap; seed lastShedEvalTime when the cursor goes idle.
      • The roll runs under the partition lock — keep the disabled/below-low-mark short-circuit so it's ~free when healthy; dispose already defers outside the lock.
      • mongos idle cursors live in ClusterCursorManager (the SERVER-131578 router gap), separate from this.

            Assignee:
            Steve Tarzia
            Reporter:
            Steve Tarzia
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: