Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-85242 Ensure the robustness of the 'QuerySettings' fallback mechanism
  3. SERVER-87798

Make classic runtime planners for SBE not throw in `makeExecutor()` methods

    • Type: Icon: Sub-task Sub-task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 8.0.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Query Execution
    • Fully Compatible
    • QE 2024-01-22, QE 2024-02-05, QE 2024-02-19, QE 2024-03-04, QE 2024-03-18, QE 2024-04-01

      In order for the fallback to correctly work with all engine/planner combinations, `classic_runtime_planner_for_sbe` planners should not throw inside their `makeExecutor()`. Doing so would lead to CanonicalQuery being destroyed, and therefore make retrying without query settings impossible.

      The agreed approach is to do the planning inside the class constructors, and just use `makeExecutor()` as a plain factory method to create the `PlanExecutor`.

            Assignee:
            catalin.sumanaru@mongodb.com Catalin Sumanaru
            Reporter:
            catalin.sumanaru@mongodb.com Catalin Sumanaru
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: