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

In classic_runtime_planner_for_sbe::CachedPlanner implement replanning for aggregation pipeline pushdown

    XMLWordPrintableJSON

Details

    • Icon: Improvement Improvement
    • Resolution: Unresolved
    • Icon: Major - P3 Major - P3
    • None
    • None
    • None
    • None
    • Query Execution
    • 3

    Description

      If the query contains an aggregation pipeline, multi-planning will be used only for the “find” part of the query. However, we need to cache the whole query, as currently we can’t re-combine already prepared SBE plans and we can’t recover QuerySolutions from SBE plan cache entries.

      For replanning, we need to track the number of documents that reached the aggregation pipeline, because aggregation pipelines can have stages that affect the number of documents unpredictably. For example, blocking stages like $group or stages that produce more documents like $unwind.

      Attachments

        Activity

          People

            backlog-query-execution Backlog - Query Execution
            ivan.fefer@mongodb.com Ivan Fefer
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated: