Uploaded image for project: 'MongoDB Database Tools'
  1. MongoDB Database Tools
  2. TOOLS-3032

Investigate changes in SERVER-58506: Command to expose settability for Server Parameters



    • Investigation
    • Status: Closed
    • Major - P3
    • Resolution: Done
    • None
    • None
    • None
    • None
    • Not Needed


      Downstream Change Summary

      --> The existing syntax for getParameter is almost entirely unchanged. The one exception is if someone passed a document as the value for the 'getParameter' key, i.e. sent the command as:

      Unknown macro: {<any doc here}

      , ...})
      This format was undocumented (the docs said the value here should be numeric), but the server would still have returned results/not error'd, interpreting the above case as (getParameter: 1).

      --> An additional syntax is added for getParameter, where the value of the 'getParameter' key in the command can be a document that requests more options.

      For example, with the old syntax, you can do:


      Unknown macro: {getParameter}


      Unknown macro: {exampleParameter}

      this syntax still works. Now, you can additionally do


      Unknown macro: {showDetails}

      , exampleParameter: 1}
      which returns:


      Unknown macro: {value}

      You can get the detailed information for all parameters simply by doing:

      db.adminCommand({getParameter: {showDetails: true, allParameters: true}}

      Description of Linked Ticket

      Currently there's no way from outside of a running mongo process to tell whether a given server parameter controlled via get/setParameter is settable at runtime (vs. just at startup). Providing a mechanism to access that information (either by altering getParameter, or with a new command) would make it easier to write tools like the automation agent by making the requirements around altering a setParameter much more discoverable.

      Acceptance Criteria

      The goal here would be command that could be invoked to:

      • Return a list of all available setParameters (a la getParameter: "*")
      • For each parameter, return if the value was settable at startup, runtime or both


        Issue Links



              Unassigned Unassigned
              backlog-server-pm Backlog - Core Eng Program Management Team
              0 Vote for this issue
              2 Start watching this issue