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

Clarify names and default value for QueryFrameworkControl

    XMLWordPrintableJSON

Details

    • Icon: Task Task
    • Resolution: Fixed
    • Icon: Major - P3 Major - P3
    • 7.0.0-rc0
    • None
    • None
    • None
    • Query Optimization
    • Minor Change
    • QO 2023-04-17

    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.

      Attachments

        Activity

          People

            hana.pearlman@mongodb.com Hana Pearlman
            david.percy@mongodb.com David Percy
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: