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

Shell should not hard-code the allowed explain levels and let the server reject it instead

    XMLWordPrintable

Details

    • Fully Compatible
    • ALL
    • v4.4, v4.2, v4.0, v3.6
    • Hide

      Connect to MongoDB or an ADL and explain on a command with a verbosity level other than the 3 above and you will get:

       2020-05-15T10:54:37.091-0400 E QUERY [js] uncaught exception: Error: explain verbosity must be one of {'queryPlanner','executionStats','allPlansExecution'} :
       parseVerbosity@src/mongo/shell/explainable.js:21:19
       constructor@src/mongo/shell/explainable.js:44:27
       DBCollection.prototype.explain@src/mongo/shell/explainable.js:242:12
       @(shell):1:1
      

       

      Show
      Connect to MongoDB or an ADL and explain on a command with a verbosity level other than the 3 above and you will get: 2020-05-15T10:54:37.091-0400 E QUERY [js] uncaught exception: Error: explain verbosity must be one of {'queryPlanner','executionStats','allPlansExecution'} : parseVerbosity@src/mongo/shell/explainable.js:21:19 constructor@src/mongo/shell/explainable.js:44:27 DBCollection.prototype.explain@src/mongo/shell/explainable.js:242:12 @(shell):1:1  
    • Query 2020-06-29

    Description

      On Atlas Data Lake it makes sense for us to support different levels of Verbosity in explain() but the Shell is error'ing on levels other than:

      {'queryPlanner','executionStats','allPlansExecution'}

      The shell should permit this and let server error on unsupported levels.

      In this instance, ADL supported queryPlannerExtended, but the shell is rejecting it.

      Attachments

        Activity

          People

            hirday.gupta@mongodb.com Hirday Gupta (Inactive)
            benjamin.flast@mongodb.com Benjamin Flast
            Votes:
            0 Vote for this issue
            Watchers:
            9 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: