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

XMLWordPrintableJSON

    • Type: Sub-task
    • Resolution: Fixed
    • Priority: 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
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      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
              Reporter:
              Catalin Sumanaru
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: