[SERVER-62775] Rename new optimizer Created: 19/Jan/22  Updated: 06/Dec/22

Status: Backlog
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Major - P3
Reporter: David Storch Assignee: Backlog - Query Optimization
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-62434 Implement query optimizer based on Pa... Closed
Assigned Teams:
Query Optimization
Participants:

 Description   

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.

 


Generated at Thu Feb 08 05:56:02 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.