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

    • Type: Icon: Investigation Investigation
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: 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:
      db.adminCommand({getParameter:

      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:

      db.adminCommand(

      Unknown macro: {getParameter}


      ...(returns)

      Unknown macro: {exampleParameter}

      this syntax still works. Now, you can additionally do

      db.adminCommand({getParameter:

      Unknown macro: {showDetails}

      , exampleParameter: 1}
      which returns:

      {exampleParameter:

      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

            Assignee:
            Unassigned Unassigned
            Reporter:
            backlog-server-pm Backlog - Core Eng Program Management Team
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: