Refactor replanning logic

XMLWordPrintableJSON

    • Type: Improvement
    • Resolution: Duplicate
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Query Optimization
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Right now replanning manually enumerates plans, creates a MultiPlanStage, runs the trials, and picks the best plan. This is basically what the normal query planning code path does, and this can probably be consolidated. One idea I had was that when we decide that we want to replan, we can throw some exception back to get_executor.cpp so that we re-enter the normal planning flow and we don't have to repeat this code.

      Note that we would also have pass some information via the exception (or however else we decide to get back to normal planning), since replanning does a few extra things (not an exhaustive list):

      • generates a replanReason
      • checks to see if the cached plan is the same as the new plan

            Assignee:
            Militsa Sotirova
            Reporter:
            Militsa Sotirova
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: