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

Support retention of valid cursor across aggregation and getMore for the $exchange operator

    • Type: Icon: Task Task
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      None
    • Storage Execution
    • Execution Team 2022-09-05, Execution Team 2022-09-19

      SERVER-60742 implemented support for agg/getMore, but disabled it in the case of $exchange. The issue is that a PlanExecutor can have nested PlanExecutors in their plan trees, and in the case of $exchange the nested PlanExecutor can be shared across multiple ClientCursors – a mutex protects against concurrent access. So we will need to associate RecoveryUnits with PlanExecutors rather than ClientCursors, and have a mechanism by which we load the appropriate RU onto the opCtx for the duration of the use of an associated PlanExecutor.

            Assignee:
            backlog-server-execution [DO NOT USE] Backlog - Storage Execution Team
            Reporter:
            dianna.hohensee@mongodb.com Dianna Hohensee (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: