[DOCS-15069] Investigate changes in SERVER-58506: Command to expose settability for Server Parameters Created: 26/Jan/22  Updated: 13/Nov/23  Due: 11/Feb/22  Resolved: 09/Feb/22

Status: Closed
Project: Documentation
Component/s: manual, Server
Affects Version/s: None
Fix Version/s: 5.3.0, 5.0.8, 4.4.15, 4.2.21, Server_Docs_20231030, Server_Docs_20231106, Server_Docs_20231105, Server_Docs_20231113

Type: Task Priority: Major - P3
Reporter: Backlog - Core Eng Program Management Team Assignee: Joseph Dougherty
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Documented
documents SERVER-58506 Command to expose settability for Ser... Closed
Participants:
Days since reply: 1 year, 40 weeks ago
Epic Link: DOCSP-19447
Story Points: 3

 Description   
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( {getParameter: 1, exampleParameter: 1}

...(returns)

Unknown macro: {exampleParameter}

this syntax still works. Now, you can additionally do

db.adminCommand( 

Unknown macro: {getParameter}

, exampleParameter: 1}
which returns:

{exampleParameter: {value: 500, settableAtRuntime: true, settableAtStartup: false}}
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


 Comments   
Comment by Education Bot [ 04/May/22 ]

Fix Version updated for upstream SERVER-58506:
5.0.8, 5.3.0, 4.4.15, 4.2.21

Comment by Education Bot [ 04/May/22 ]

Fix Version updated for upstream SERVER-58506:
5.0.8, 5.3.0, 4.2.20, 4.4.15

Comment by Education Bot [ 04/May/22 ]

Fix Version updated for upstream SERVER-58506:
4.4.14, 5.0.8, 5.3.0, 4.2.20, 4.4.15

Comment by Education Bot [ 04/May/22 ]

Fix Version updated for upstream SERVER-58506:
5.0.8, 5.3.0, 4.2.20, 4.4.15

Comment by Githook User [ 27/Apr/22 ]

Author:

{'name': 'jmd-mongo', 'email': '73852296+jmd-mongo@users.noreply.github.com', 'username': 'jmd-mongo'}

Message: Parameter settability backport 4.2 (#1027)

  • DOCS-15069 getParameter exposes settability for server params (#553)
  • command to expose settability for server params
  • review feedback
  • updates description of "*"
  • addresses duplicate target name getParameter-showdetails-all-params
Comment by Githook User [ 27/Apr/22 ]

Author:

{'name': 'jmd-mongo', 'email': '73852296+jmd-mongo@users.noreply.github.com', 'username': 'jmd-mongo'}

Message: DOCS-15069 getParameter exposes settability for server params (#553) (#1026)

  • command to expose settability for server params
  • review feedback
  • updates description of "*"
Comment by Githook User [ 27/Apr/22 ]

Author:

{'name': 'jmd-mongo', 'email': '73852296+jmd-mongo@users.noreply.github.com', 'username': 'jmd-mongo'}

Message: DOCS-15069 getParameter exposes settability for server params (#553) (#1025)

  • command to expose settability for server params
  • review feedback
  • updates description of "*"
Comment by Jess Mokrzecki [ 22/Apr/22 ]

Fix Version updated for upstream SERVER-58506:
4.4.14, 5.0.8, 5.3.0, 4.2.20

Comment by Jess Mokrzecki [ 22/Apr/22 ]

Fix Version updated for upstream SERVER-58506:
4.4.14, 5.0.8, 5.3.0

Comment by Jess Mokrzecki [ 21/Apr/22 ]

Fix Version updated for upstream SERVER-58506:
5.0.8, 5.3.0

Comment by Githook User [ 09/Feb/22 ]

Author:

{'name': 'jmd-mongo', 'email': '73852296+jmd-mongo@users.noreply.github.com', 'username': 'jmd-mongo'}

Message: DOCS-15069 getParameter exposes settability for server params (#553)

  • command to expose settability for server params
  • review feedback
  • updates description of "*"
Comment by Joseph Dougherty [ 07/Feb/22 ]

https://github.com/10gen/docs-mongodb-internal/pull/553

Comment by PM Bot [ 26/Jan/22 ]

Downstream changes updated for upstream SERVER-58506:
--> 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:

{<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(

{getParameter: 1, exampleParameter: 1}


...(returns)

{exampleParameter: 500}

this syntax still works. Now, you can additionally do

db.adminCommand({getParameter:

{showDetails: true}

, exampleParameter: 1}
which returns:

{exampleParameter:

{value: 500, settableAtRuntime: true, settableAtStartup: true}

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

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

Generated at Thu Feb 08 08:11:56 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.