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

Create a PlanExecutor implementation for executing a Pipeline

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 4.7.0
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      None
    • Fully Compatible
    • Query 2020-07-13, Query 2020-07-27

      As part of adding the slot-based execution (SBE) engine, we will have multiple implementations of the PlanExecutor interface: one for the "classic" execution engine and another for SBE. This will require us to convert PlanExecutor into a clean interface that can abstract over multiple execution engines (see SERVER-48477). Therefore, it would make sense to have a third implementation of PlanExecutor which is used for executing Pipelines of DocumentSources. This will allow us to get rid of the PipelineProxyStage which currently sits between PlanExecutor and the Pipeline. Using PipelineProxyStage when SBE is enabled is particularly undesirable because it causes the runtime execution plan tree to involve both SBE PlanStages and classic PlanStages.

            Assignee:
            david.storch@mongodb.com David Storch
            Reporter:
            david.storch@mongodb.com David Storch
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: