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

      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: