Use a separate executor or execution resource to issue killOperations in CursorEstablisher

XMLWordPrintableJSON

    • Type: Improvement
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Networking & Observability
    • N&O Availability Backlog
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      When cursor establishing queries timeout, we then re-enqueue all of the work to kill the cursors on the ShardingTaskExecutor-- this can lead to a feedback loop where more and more work gets scheduled on the reactor thread, and more connections are checked out of the pool for cleanup instead of useful work, and mongos goodput signficantly degrades. We should schedule all cleanup work on a seperate executor.

      Assigning to N&O first, as we should have visibility into this problem and audit the codebase for similar issues.

            Assignee:
            Unassigned
            Reporter:
            Erin McNulty
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: