-
Type: Task
-
Resolution: Won't Do
-
Priority: Major - P3
-
Affects Version/s: None
-
Labels:None
On v6.3 by default, internal server parameter 'internalQueryFrameworkControl' is set to 'tryBonsai', and the feature flag 'featureFlagCommonQueryFramework' is disabled.
This commit changes the default for v7.0. On v7.0 by default, internal server parameter 'internalQueryFrameworkControl' is set to 'trySbeEngine', and the feature flag 'featureFlagCommonQueryFramework' is still disabled. Also, this commit makes it an error to set 'internalQueryFrameworkControl' to 'tryBonsai' when 'featureFlagCommonQueryFramework' is disabled.
So, if a user on v6.3.dumped all of the default values of server parameters, including internal parameters, to a file and then used that file to start up a 7.0 mongod, they would see an error. The effect would be the same as trying to set an internal server parameter which has been deleted. We do not expect this to be common.
Note there are no changes to the default query behavior seen by users because the related feature flag is still disabled. Also, this does not affect users who have the internal flag set to 'forceClassic'. The change is that mongod cannot start up by default with 'internalQueryFrameworkControl' set to 'tryBonsai'.
Description of Linked Ticket
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:
- The default behavior is unclear: the enum defaults to 'tryBonsai' but the actual behavior defaults to 'trySbeEngine'.
- 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:
- The default behavior is clearly 'trySbeEngine'.
- The names 'tryBonsai' and 'forceBonsai' are not user-facing, because you can't specify them without the feature flag + enableTestCommands.
- documents
-
SERVER-75054 Clarify names and default value for QueryFrameworkControl
- Closed