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

Flush new optimizer's plan cache when relevant query knob values change

    • Type: Icon: Task Task
    • Resolution: Won't Do
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Query Planning
    • Labels:
    • Query Optimization

      In SERVER-62797 as part of the SBE plan cache project, we are changing the server to flush the SBE plan cache when certain query-related setParameters are updated. This ticket is related to a follow-on project to the SBE plan cache. We will extend the SBE plan cache in order to cache plans produced by the new optimizer.

      This means that we should also flush the new optimizer's plan cache when the value of a parameter which affects the behavior of the new optimizer is updated. This can be implemented by adding an on_update hook to the IDL definition of a server parameter which ends up calling clear() on the plan cache. Once we have implemented a plan cache which works with the new optimizer, we should consider introducing on_update hooks for the internalCascadesOptimizer* parameters here. There may also be new Cascades-related knobs which were added after this writing, so it's worth doing a fresh audit.

            backlog-query-optimization [DO NOT USE] Backlog - Query Optimization
            david.storch@mongodb.com David Storch
            0 Vote for this issue
            4 Start watching this issue