[SERVER-75054] Clarify names and default value for QueryFrameworkControl Created: 20/Mar/23  Updated: 29/Oct/23  Resolved: 10/Apr/23

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 7.0.0-rc0

Type: Task Priority: Major - P3
Reporter: David Percy Assignee: Hana Pearlman
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
Documented
is documented by DOCS-16022 [Server] Investigate changes in SERVE... Closed
Related
Assigned Teams:
Query Optimization
Backwards Compatibility: Minor Change
Sprint: QO 2023-04-17
Participants:

 Description   

Currently users can pass in any of these values for the QueryFrameworkControl enum:

  • forceClassicEngine
  • trySbeEngine
  • tryBonsai
    • This is the default.
    • Confusingly, it behaves the same as 'trySbeEngine' by default. (Depends on a feature flag.)
  • forceBonsai
    • Also behaves the same as 'trySbeEngine' by default.

There are a couple problems with this:

  1. The default behavior is unclear: the enum defaults to 'tryBonsai' but the actual behavior defaults to 'trySbeEngine'.
  2. The name "Bonsai" may not be final, so we should not bake it in to user-facing options.

I would propose the following behavior:

  • forceClassicEngine
  • trySbeEngine
    • Make this the default.
  • tryBonsai
    • Error if the feature flag is not enabled.
  • forceBonsai
    • Error if the feature flag is not enabled.

This solves the two problems:

  1. The default behavior is clearly 'trySbeEngine'.
  2. The names 'tryBonsai' and 'forceBonsai' are not user-facing, because you can't specify them without the feature flag + enableTestCommands.


 Comments   
Comment by Githook User [ 06/Apr/23 ]

Author:

{'name': 'Hana Pearlman', 'email': 'hana.pearlman@mongodb.com', 'username': 'HanaPearlman'}

Message: SERVER-75054: Change default of internalQueryFrameworkControl to trySbeEngine

Changes the default for internalQueryFrameworkControl to
trySbeEngine from tryBonsai. After the change, if the CQF
feature flag is off, trying to set the control knob to
tryBonsai or forceBonsai will fail.
Branch: master
https://github.com/mongodb/mongo/commit/a69cf3209b0596c5814f71f1a69657abd78adf54

Generated at Thu Feb 08 06:29:12 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.