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

Rename new optimizer

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

      SERVER-62434 is adding a new query optimizer based on the Cascades architecture. For the time being, this new subsystem is called the "new optimizer" or the "Cascades optimizer". We've had some discussion on the team about renaming the optimizer in order to make it easier to refer to. The team proposed several alternative names and the ultimate winner was the "Bonsai Optimizer".

       

      The work of the ticket is to

      1. identify places where we refer to our specific optimizer implementation in a generic way (e.g. "the optimizer"). We need to distinguish from the name of the algorithm itself which is Cascades, and its description, and associated data structures are not subject to renaming. The "optimizer" is a more encapsulating term which captures Cascades, Paths, ABT, and other specific algorithms or approaches collectively. As such the names Cascades and Bonsai would coexist.
      2. As appropriate introduce the new name in places referring to the collective implementation (as opposed to individual algorithms or approaches).

       

      A few examples.

      1.

      // Disable Cascades branch-and-bound strategy

      This comment should not be renamed to Bonsai since it is describing a strategy specific to the algorithm Cascades.

      2.

      std::unique_ptr<PlanExecutor, PlanExecutor::Deleter> getSBEExecutorViaCascadesOptimizer(

      May be considered for renaming to Bonsai since it executes the entire optimizer "stack", including algorithms other than Cascades.

      3. Existing namespace "optimizer" may be considered for renaming to "bonsai", however the nested namespace "cascades" holds Cascades algorithms (including the Memo) and should stay unchanged. Similar arguments hold for the directory structure.

       

            Assignee:
            backlog-query-optimization [DO NOT USE] Backlog - Query Optimization
            Reporter:
            david.storch@mongodb.com David Storch
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated: