Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
mongodb-parameters(5)	       File Formats Manual	   mongodb-parameters(5)

MONGODB SERVER PARAMETERS
SYNOPSIS
     MongoDB provides a number of configuration options that you can set using:

	    * the setParameter command:

		db.adminCommand( { setParameter: 1, <parameter>: <value>  } )

	    * the setParameter configuration setting:

		setParameter:
		   <parameter1>: <value1>
		   ...

	    * the --setParameter command-line option for mongod and mongos:

		mongod --setParameter <parameter>=<value>
		mongos --setParameter <parameter>=<value>

     For  additional configuration options, see Configuration File Options, mon-
     god and mongos.

PARAMETERS
   AUTHENTICATION PARAMETERS
     authenticationMechanisms

	    Available for both mongod and mongos.

	    Specifies the list of authentication mechanisms the server	accepts.
	    Set this to one or more of the following values. If you specify mul-
	    tiple values, use a comma-separated list and no spaces. For descrip-
	    tions of the authentication mechanisms, see Authentication.

		   *

		     *	 Value

		     *	 Description

		   *

		     *	 SCRAM-SHA-1

		     *	 RFC 5802 (https://tools.ietf.org/html/rfc5802) standard
			 Salted  Challenge Response Authentication Mechanism us-
			 ing the SHA-1 hash function.

		   *

		     *	 SCRAM-SHA-256

		     *	 RFC 7677 (https://tools.ietf.org/html/rfc7677) standard
			 Salted Challenge Response Authentication Mechanism  us-
			 ing the SHA-256 hash function.

		   *

		     *	 MONGODB-X509

		     *	 MongoDB TLS/SSL certificate authentication.

		   *

		     *	 GSSAPI (Kerberos)

		     *	 External  authentication using Kerberos. This mechanism
			 is    available    only    in	  MongoDB     Enterprise
			 (http://www.mongodb.com/products/mongodb-enterprise-ad-
			 vanced?tck=docs_server).

		   *

		     *	 PLAIN (LDAP SASL)

		     *	 External  authentication  using  LDAP. You can also use
			 PLAIN	for  authenticating  in-database  users.   PLAIN
			 transmits  passwords  in  plain text. This mechanism is
			 available only in MongoDB  Enterprise	(http://www.mon-
			 godb.com/products/mongodb-enterprise-ad-
			 vanced?tck=docs_server).

		   *

		     *	 MONGODB-OIDC

		     *	 OpenID  Connect is an authentication layer built on top
			 of OAuth2. This mechanism is available only in  MongoDB
			 Enterprise (http://www.mongodb.com/products/mongodb-en-
			 terprise-advanced?tck=docs_server).

	    This  parameter  is only available at startup. To set the parameter,
	    use the setParameter setting.

	    For example, to specify both PLAIN and SCRAM-SHA-256 as the  authen-
	    tication mechanisms, use the following command:

	      mongod --setParameter authenticationMechanisms=PLAIN,SCRAM-SHA-256 --auth

     awsSTSRetryCount

	    In	previous  versions, AWS IAM authentication retried only when the
	    server returned an HTTP 500 error.

	    Available for both mongod and mongos.

	    Type: integer

	    Default: 2

	    For    MongoDB    deployments    using    AWS    IAM     credentials
	    (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_ac-
	    cess-keys.html)	or     AWS     IAM     environment     variables
	    (https://docs.aws.amazon.com/cli/latest/userguide/cli-config-
	    ure-envvars.html#envvars-list).

	    Maximum number of AWS IAM authentication retries after a  connection
	    failure.

	    The following example sets awsSTSRetryCount to 15 retries:

	      mongod --setParameter awsSTSRetryCount=15

	    Alternatively,  the following examples uses the setParameter command
	    within mongosh:

	      db.adminCommand( { setParameter: 1, awsSTSRetryCount: 15 } )

     clusterAuthMode

	    Available for both mongod and mongos.

	    Set the clusterAuthMode to either sendX509 or  x509.  Useful  during
	    rolling  upgrade  to use x509 for membership authentication to mini-
	    mize downtime.

	    For more information about TLS/SSL and MongoDB, see Configure mongod
	    and mongos for TLS/SSL and TLS/SSL Configuration for Clients .

	    This parameter is only available at runtime. To set  the  parameter,
	    use the setParameter command.

	      db.adminCommand( { setParameter: 1, clusterAuthMode: "sendX509" } )

     enableLocalhostAuthBypass

	    Available for both mongod and mongos.

	    Default: true

	    Specify  0	or false to disable localhost authentication bypass. En-
	    abled by default.

	    This parameter is only available at startup. To set  the  parameter,
	    use the setParameter setting.

	    See Localhost Exception for more information.

     enforceUserClusterSeparation

	    Available for both mongod and mongos.

	    Set  to  false  to disable the O/OU/DC check when clusterAuthMode is
	    keyFile in your configuration file. This allows  clients  possessing
	    member certificates to authenticate as users stored in the $external
	    database. The server won't start if clusterAuthMode isn't keyFile in
	    your configuration file.

	    To	set the enforceUserClusterSeparation parameter to false, run the
	    following command during startup:

	      mongod --setParameter enforceUserClusterSeparation=false

	    If you set the enforceUserClusterSeparation parameter to false,  the
	    server doesn't distinguish between client certificates, which appli-
	    cations  use  to authenticate, and intra-cluster certificates, which
	    have privileged access. This has no effect if  your  clusterAuthMode
	    is	keyFile. However, if your clusterAuthMode is x509, user certifi-
	    cates that use the allowed scheme are conflated  with  cluster  cer-
	    tificates and granted privileged access.

	    Your existing certificates are granted internal privileges if you do
	    the following:

		   * Create a user, with a name allowed by this parameter.

		   * Set the enforceUserClusterSeparation parameter to false.

		   * Set clusterAuthMode to x509.

	    You  must  not  upgrade from keyFile to x509 without validating that
	    you've removed users with elevated privileges that the  enforceUser-
	    ClusterSeparation flag allowed you to create.

     KeysRotationIntervalSec

	    Default: 7776000 seconds (90 days)

	    Specifies  the  number  of	seconds  for  which  an HMAC signing key
	    (https://en.wikipedia.org/wiki/Hash-based_message_authentica-
	    tion_code) is valid before rotating to the next one. This  parameter
	    is intended primarily to facilitate authentication testing.

	    This  parameter  is only available at startup. To set the parameter,
	    use the setParameter setting.

     ldapForceMultiThreadMode

	    Default: false

	    Enables the performance of concurrent LDAP operations.

	    Only if you are certain that your instance of libldap is safe to use
	    in this mode, enable this flag. You may experience	crashes  of  the
	    MongoDB  process  if the libldap version you are using is not thread
	    safe.

	    You must use ldapForceMultiThreadMode to use LDAP  connection  pool.
	    To	enable	LDAP  connection  pool, set ldapForceMultiThreadMode and
	    ldapUseConnectionPool to true.

	    If you have any concerns regarding your MongoDB version, OS  version
	    or libldap version, please contact MongoDB Support.

     ldapQueryPassword

	    Available for both mongod and mongos.

	    Type: string

	    The  password  used  to  bind  to an LDAP server. You must use ldap-
	    QueryUser with this parameter.

	    If not set, mongod or mongos does not attempt to bind  to  the  LDAP
	    server.

     ldapQueryUser

	    Available for both mongod and mongos.

	    Type: string

	    The  user  that binds to an LDAP server. You must use ldapQueryPass-
	    word with this parameter.

	    If not set, mongod or mongos does not attempt to bind  to  the  LDAP
	    server.

     ldapRetryCount

	    Available for both mongod and mongos.

	    Type: integer

	    Default: 0

	    For MongoDB deployments using LDAP Authorization.

	    Number  of operation retries by the server LDAP manager after a net-
	    work error.

	    For example, the following sets ldapRetryCount to 3 seconds:

	      mongod --ldapRetryCount=3

	    Or, if using the setParameter command within mongosh:

	      db.adminCommand( { setParameter: 1, ldapRetryCount: 3 } )

     ldapUserCacheInvalidationInterval

	    Available for mongod only.

	    Starting in MongoDB 5.2, the update interval for cached user  infor-
	    mation   retrieved	 from  an  LDAP  server  depends  on  ldapShoul-
	    dRefreshUserCacheEntries:

		   * If true, use ldapUserCacheRefreshInterval.

		   * If false, use ldapUserCacheInvalidationInterval.

	    For use with MongoDB deployments using LDAP Authorization.

	    The interval (in seconds) that the mongod instance waits between ex-
	    ternal user cache flushes. After MongoDB flushes the  external  user
	    cache,  MongoDB  reacquires  authorization data from the LDAP server
	    the next time an LDAP-authorized user issues an operation.

	    Increasing the value specified increases the amount of time  MongoDB
	    and  the LDAP server can be out of sync, but reduces the load on the
	    LDAP server. Conversely, decreasing the  value  specified  decreases
	    the  time  MongoDB	and the LDAP server can be out of sync while in-
	    creasing the load on the LDAP server.

	    Defaults to 30 seconds.

     ldapUserCacheRefreshInterval

	    Available for mongod only.

	    Type: integer

	    Default: 30 seconds

	    Starting in MongoDB 5.2, the update interval for cached user  infor-
	    mation   retrieved	 from  an  LDAP  server  depends  on  ldapShoul-
	    dRefreshUserCacheEntries:

		   * If true, use ldapUserCacheRefreshInterval.

		   * If false, use ldapUserCacheInvalidationInterval.

	    For MongoDB deployments using LDAP Authorization.

	    The interval in seconds that  mongod  waits  before  refreshing  the
	    cached user information from the LDAP server.

	    The maximum interval is 86,400 seconds (24 hours).

	    For example, the following sets ldapUserCacheRefreshInterval to 4000
	    seconds:

	      mongod --setParameter ldapUserCacheRefreshInterval=4000

	    Or, if using the setParameter command within mongosh:

	      db.adminCommand( { setParameter: 1, ldapUserCacheRefreshInterval: 4000 } )

     ldapUserCacheStalenessInterval

	    Available for mongod only.

	    Type: integer

	    Default: 90 seconds

	    For MongoDB deployments using LDAP Authorization.

	    The interval in seconds that mongod retains the cached LDAP user in-
	    formation after the last cache refresh.

	    If more than ldapUserCacheStalenessInterval seconds elapse without a
	    successful	refresh  of  the  user information from the LDAP server,
	    then mongod:

		   * Invalidates the cached LDAP user information.

		   * Is unable to authenticate new sessions for LDAP users until
		     mongod connects to the LDAP server and authorizes the  LDAP
		     user.

		   * Authorizes  any  existing	sessions that use previously au-
		     thenticated LDAP users if mongod is unable  to  connect  to
		     the LDAP server. When mongod reconnects to the LDAP server,
		     mongod ensures the LDAP users are correctly authorized.

	    The maximum interval is 86,400 seconds (24 hours).

	    For  example,  the	following sets ldapUserCacheStalenessInterval to
	    4000 seconds:

	      mongod --setParameter ldapUserCacheStalenessInterval=4000

	    Or, if using the setParameter command within mongosh:

	      db.adminCommand( { setParameter: 1, ldapUserCacheStalenessInterval: 4000 } )

     ldapUseConnectionPool

	    Specifies whether MongoDB should use connection  pooling  when  con-
	    necting to the LDAP server for authentication/authorization.

	    MongoDB uses the following default values:

		   * true on Windows.

		   * true  on Linux where MongoDB Enterprise binaries are linked
		     against libldap_r.

		   * false on Linux where MongoDB Enterprise binaries are linked
		     against libldap.

	    You can only set ldapUseConnectionPool during start-up,  and  cannot
	    change this setting with the setParameter database command.

     ldapConnectionPoolUseLatencyForHostPriority

	    Default: true

	    A boolean that determines whether the LDAP connection pool (see lda-
	    pUseConnectionPool) should use latency of the LDAP servers to deter-
	    mine the connection order (from lowest latency to highest).

	    You  can only set ldapConnectionPoolUseLatencyForHostPriority during
	    start-up, and cannot change this setting during run  time  with  the
	    setParameter database command.

     ldapConnectionPoolMinimumConnectionsPerHost

	    Default: 1

	    The minimum number of connections to keep open to each LDAP server.

	    You  can only set ldapConnectionPoolMinimumConnectionsPerHost during
	    start-up, and cannot change this setting during run  time  with  the
	    setParameter database command.

     ldapConnectionPoolMaximumConnectionsPerHost

	    Changed starting in MongoDB versions 5.0.9 and 6.0.0 Changed default
	    value to 2147483647. In previous versions, the default is unset.

	    Default: 2147483647

	    The maximum number of connections to keep open to each LDAP server.

	    You  can only set ldapConnectionPoolMaximumConnectionsPerHost during
	    start-up, and cannot change this setting during run  time  with  the
	    setParameter database command.

     ldapConnectionPoolMaximumConnectionsInProgressPerHost

	    Changed starting in MongoDB versions 5.0.9 and 6.0.0 Changed default
	    value to 2. In previous versions, the default is unset.

	    Default: 2

	    The  maximum  number  of in-progress connect operations to each LDAP
	    server.

	    You can only set  ldapConnectionPoolMaximumConnectionsInProgressPer-
	    Host during start-up, and cannot change this setting with the setPa-
	    rameter database command.

     ldapConnectionPoolHostRefreshIntervalMillis

	    Default: 60000

	    The  number  of  milliseconds in-between health checks of the pooled
	    LDAP connections.

	    You can only set ldapConnectionPoolHostRefreshIntervalMillis  during
	    start-up, and cannot change this setting with the setParameter data-
	    base command.

     ldapConnectionPoolIdleHostTimeoutSecs

	    Default: 300

	    The maximum number of seconds that the pooled connections to an LDAP
	    server can remain idle before being closed.

	    You   can	only  set  ldapConnectionPoolIdleHostTimeoutSecs  during
	    start-up, and cannot change this setting with the setParameter data-
	    base command.

     ldapShouldRefreshUserCacheEntries

	    Available for mongod only.

	    Type: boolean

	    Default: true

	    For MongoDB deployments using LDAP Authorization.

	    Starting in MongoDB 5.2, the update interval for cached user  infor-
	    mation   retrieved	 from  an  LDAP  server  depends  on  ldapShoul-
	    dRefreshUserCacheEntries:

		   * If true, use ldapUserCacheRefreshInterval.

		   * If false, use ldapUserCacheInvalidationInterval.

	    You can only set ldapShouldRefreshUserCacheEntries during startup in
	    the configuration file or with the --setParameter option on the com-
	    mand  line.  For  example,	 the   following   disables   ldapShoul-
	    dRefreshUserCacheEntries:

	      mongod --setParameter ldapShouldRefreshUserCacheEntries=false

     maxValidateMemoryUsageMB

	    Default: 200

	    The  maximum  memory  usage limit in megabytes for the validate com-
	    mand. If the limit is exceeded, validate returns as many results  as
	    possible and warns that not all corruption might be reported because
	    of the limit.

	    This parameter is available both at runtime and at startup:

		   * To  set the parameter at runtime, use the setParameter com-
		     mand

		   * To set the parameter at startup, use the setParameter  set-
		     ting

     oidcIdentityProviders

	    Use this parameter to specify identity provider (IDP) configurations
	    when using OpenID Connect Authentication.

	    oidcIdentityProviders  accepts  an	array  of  zero or more identity
	    provider (IDP) configurations. An empty array (default) indicates no
	    OpenID Connect support is enabled. When more than  one  IDP  is  de-
	    fined,  oidcIdentityProviders  uses the matchPattern field to select
	    an IDP. Array order determines the priority and the first IDP is al-
	    ways selected.

   OIDCIDENTITYPROVIDERS FIELDS
	    *

	      *   Field

	      *   Necessity

	      *   Type

	      *   Description

	    *

	      *   issuer

	      *   Required

	      *   string

	      *   The issuer URI of the IDP that the server should accept tokens
		  from. This must match the iss field in any JWT  used	for  au-
		  thentication.

		  If you specify an unreachable issuer URI, MongoDB:

		  *	Logs a warning.

		  *	Continues server startup, which allows you to update the
			issuer URI.

		  *	Reattempts issuer contact. If MongoDB reaches the issuer
			URI  and validates the access token, authentication suc-
			ceeds. If the issuer URI remains unreachable,  authenti-
			cation fails.

	    *

	      *   authNamePrefix

	      *   Required

	      *   string

	      *   Unique  prefix applied to each generated UserName and RoleName
		  used in authorization. authNamePrefix  can  only  contain  the
		  following characters:

		  *	alphanumeric  characters (combination of a to z and 0 to
			9)

		  *	hyphens (-)

		  *	underscores (_)

	    *

	      *   matchPattern

	      *   Conditional

	      *   string

	      *   Regex pattern used to determine  which  IDP  should  be  used.
		  matchPattern matches against usernames. Array order determines
		  the priority and the first IDP is always selected.

		  matchPattern	is required in some configurations, depending on
		  how the user sets supportsHumanFlows:

		  *	When only one IdP has  supportsHumanFlows  set	to  true
			(the default), matchPatterns is optional.

		  *	When  multiple IdP's have supportsHumanFlows set to true
			(the default), each of these requires matchPatterns.

		  *	matchPatterns is optional for any IdP where  supportsHu-
			manFlows is set to false.

		  This	is not a security mechanism. matchPattern serves only as
		  an advisory to clients. MongoDB accepts tokens issued  by  the
		  IDP whose principal names do not match this pattern.

	    *

	      *   clientId

	      *   Conditional

	      *   string

	      *   ID  provided	by  the IDP to identify the client that receives
		  the access tokens.

		  Required when supportsHumanFlows is set to true (the default).

	    *

	      *   audience

	      *   Required

	      *   string

	      *   Specifies the application or service that the access token  is
		  intended for.

	    *

	      *   requestScopes

	      *   Optional

	      *   array[ string ]

	      *   Permissions  and  access levels that MongoDB requests from the
		  IDP.

	    *

	      *   principalName

	      *   Optional

	      *   string

	      *   The claim to be extracted from  the  access  token  containing
		  MongoDB user identifiers.

		  The default value is sub (stands for subject).

	    *

	      *   useAuthorizationClaim

	      *   Optional

	      *   boolean

	      *   Determines  if the authorizationClaim is required. The default
		  value is true.

		  If the useAuthorizationClaim field is set to true, the  server
		  requires  an	authorizationClaim  for  the identity provider's
		  config. This is the default behavior.

		  If the useAuthorizationClaim field is set to false, the autho-
		  rizationClaim field is optional  (and  ignored  if  provided).
		  Instead, the server does the following:

		  *	Searches  the  token for a claim whose name is listed in
			the principalNameClaim field. This  is	typically  named
			sub. For example:

			sub: "spencer.jackson@example.com"

		  *	Constructs  the  internal  username by concatenating the
			authNamePrefix, a forward slash (/), and the contents of
			the claim identified by  principalNameClaim  within  the
			access	token.	For example, with a authNamePrefix field
			value of "mdbinc", the internal username is:

			mdbinc/spencer.jackson@example.com

		  *	Looks for the user with this username and authorizes the
			client with the roles:

			  { user: "mdbinc/spencer.jackson@example.com",
			    db: "$external" }

	    *

	      *   authorizationClaim

	      *   Conditional

	      *   string

	      *   Required, unless useAuthorizationClaim is set to false.

		  Claim extracted from access token that contains  MongoDB  role
		  names.

	    *

	      *   logClaims

	      *   Optional

	      *   array[ string ]

	      *   List	of  access token claims to include in log and audit mes-
		  sages upon authentication completion.

	    *

	      *   JWKSPollSecs

	      *   Optional

	      *   integer

	      *   Frequency, in seconds, to request an updated JSON Web Key  Set
		  (JWKS) from the IDP.	A setting of 0 disables polling.

	    *

	      *   supportsHumanFlows

	      *   Optional

	      *   bool

	      *   Whether the OIDC provider supports human or machine workflows.
		  This affects the clientId and matchPattern fields.

		  You may find it useful to set this field to false with machine
		  workload  IdP's  to  allow them to omit the clientId when it's
		  unneeded.

		  Default: true.

     This parameter is only available at startup. To set the parameter, use  the
     setParameter setting.

     ocspEnabled

	    Available on Linux and macOS.

	    Default: true

	    The flag that enables or disables OCSP.

	    This  parameter  is only available at startup. To set the parameter,
	    use the setParameter setting.

	    For example, the following disables OCSP:

	      mongod --setParameter ocspEnabled=false ...

	    Starting in MongoDB 6.0, if ocspEnabled is set to true  during  ini-
	    tial sync, all nodes must be able to reach the OCSP responder.

	    If	a  member fails in the STARTUP2 state, set tlsOCSPVerifyTimeout-
	    Secs to a value that is less than 5.

		   * ocspValidationRefreshPeriodSecs

		   * tlsOCSPStaplingTimeoutSecs

		   * tlsOCSPVerifyTimeoutSecs

     ocspValidationRefreshPeriodSecs

	    Available on Linux.

	    The number of seconds to wait before  refreshing  the  stapled  OCSP
	    status response. Specify a number greater than or equal to 1.

	    You  can  only set ocspValidationRefreshPeriodSecs during startup in
	    the configuration file or with the --setParameter option on the com-
	    mand line. For example, the following sets	the  parameter	to  3600
	    seconds:

	      mongod --setParameter ocspValidationRefreshPeriodSecs=3600 ...

	    Starting  in  MongoDB 5.0, the rotateCertificates command and db.ro-
	    tateCertificates() method will also refresh  any  stapled  OCSP  re-
	    sponses.

		   * ocspEnabled

		   * tlsOCSPStaplingTimeoutSecs

		   * tlsOCSPVerifyTimeoutSecs

     opensslCipherConfig

	    Available on Linux only

	    With  the  use of native TLS/SSL libraries, the parameter opensslCi-
	    pherConfig is supported for Linux/BSD and  no  longer  supported  in
	    Windows and macOS.

	    Specify the cipher string for OpenSSL when using TLS/SSL encryption.
	    For       a       list	 of	  cipher       strings,      see
	    https://www.openssl.org/docs/man1.1.1/man1/ciphers.html
	    (https://www.openssl.org/docs/man1.1.1/man1/ciphers.html).	Multiple
	    cipher strings can be provided as a colon-separated list.

	    This parameter is only for use with TLS 1.2 or earlier.  To  specify
	    cipher suites for use with TLS 1.3, use the opensslCipherSuiteConfig
	    parameter.

	    This  parameter  is only available at startup. To set the parameter,
	    use the setParameter setting.

	    The use of TLS options is preferred over SSL options.  The	TLS  op-
	    tions  have the same functionality as the SSL options. The following
	    example configures a mongod with a opensslCipherConfig cipher string
	    of 'HIGH:!EXPORT:!aNULL@STRENGTH':

	      mongod --setParameter opensslCipherConfig='HIGH:!EXPORT:!aNULL@STRENGTH' --tlsMode requireTLS --tlsCertificateKeyFile Certs/server.pem

     opensslCipherSuiteConfig

	    Available on Linux only

	    Specify the list of supported cipher suites  OpenSSL  should  permit
	    when using TLS 1.3 encryption.

	    For   a   list   of   cipher  suites  for  use  with  TLS  1.3,  see
	    https://www.openssl.org/docs/man1.1.1/man3/SSL_CTX_set_ci-
	    pher_list.html
	    (https://www.openssl.org/docs/man1.1.1/man3/SSL_CTX_set_ci-
	    pher_list.html).  Multiple	cipher	suites	can  be  provided  as  a
	    colon-separated list.

	    This  parameter  is  only  for  use  with TLS 1.3. To specify cipher
	    strings for use with TLS 1.2 or earlier, use the opensslCipherConfig
	    parameter.

	    This parameter is only available at startup. To set  the  parameter,
	    use the setParameter setting.

	    For example, the following configures a mongod with a opensslCipher-
	    SuiteConfig  cipher  suite	of 'TLS_AES_256_GCM_SHA384' for use with
	    TLS 1.3:

	      mongod --setParameter opensslCipherSuiteConfig='TLS_AES_256_GCM_SHA384' --tlsMode requireTLS --tlsCertificateKeyFile Certs/server.pem

     opensslDiffieHellmanParameters

	    Available on Linux only

	    Specify  the  path	to  the  PEM  file  that  contains  the  OpenSSL
	    Diffie-Hellman parameters when using TLS 1.2 or previous. Specifying
	    the  OpenSSL Diffie-Hellman parameters enables support for Ephemeral
	    Diffie-Hellman (DHE) cipher suites during TLS/SSL encryption.

	    This parameter is not supported for use with TLS 1.3.

	    Ephemeral Diffie-Hellman (DHE) cipher suites (and Ephemeral Elliptic
	    Curve Diffie-Hellman (ECDHE) cipher suites) provide Forward Secrecy.
	    Forward Secrecy cipher suites create an ephemeral session  key  that
	    is protected by the server's private key but never transmitted. This
	    ensures that even if a server's private key is compromised, you can-
	    not decrypt past sessions with the compromised key.

	    If	opensslDiffieHellmanParameters	is  unset  but ECDHE is enabled,
	    MongoDB enables DHE using the ffdhe3072 Diffie-Hellman parameter, as
	    defined		      in		   RFC-7919#appendix-A.2
	    (https://tools.ietf.org/html/7919#appendix-A.2).  The ffdhe3072 is a
	    strong parameter (specifically, size is greater than  1024).  Strong
	    parameters	are not supported with Java 6 and 7 unless extended sup-
	    port has been purchased from Oracle.

	    This parameter is only available at startup. To set  the  parameter,
	    use the setParameter setting.

	    If	for performance reasons, you need to disable support for DHE ci-
	    pher suites, use the opensslCipherConfig parameter:

	      mongod --setParameter opensslCipherConfig='HIGH:!EXPORT:!aNULL:!DHE:!kDHE@STRENGTH' ...

     saslauthdPath

	    Available for both mongod and mongos.

	    Specify the path to the Unix Domain Socket of the saslauthd instance
	    to use for proxy authentication.

	    This parameter is only available at startup. To set  the  parameter,
	    use the setParameter setting.

     saslHostName

	    Available for both mongod and mongos.

	    saslHostName  overrides MongoDB's default hostname detection for the
	    purpose of configuring SASL and Kerberos authentication.

	    saslHostName does not affect the hostname of the  mongod  or  mongos
	    instance  for  any purpose beyond the configuration of SASL and Ker-
	    beros.

	    This parameter is only available at startup. To set  the  parameter,
	    use the setParameter setting.

	    saslHostName  supports  Kerberos authentication and is only included
	    in MongoDB Enterprise. For more information, see the following:

		   * Linux: Configure MongoDB with  Kerberos  Authentication  on
		     Linux

		   * Windows:  Configure MongoDB with Kerberos Authentication on
		     Windows

     saslServiceName

	    Available for both mongod and mongos.

	    Allows users to override the default Kerberos service name component
	    of the Kerberos principal name, on a per-instance basis. If unspeci-
	    fied, the default value is mongodb.

	    This parameter is only available at startup. To set  the  parameter,
	    use the setParameter setting.

	    saslServiceName is only available in MongoDB Enterprise.

	    Ensure that your driver supports alternate service names.

     scramIterationCount

	    Available for both mongod and mongos.

	    Default: 10000

	    Changes   the   number  of	hashing  iterations  used  for	all  new
	    SCRAM-SHA-1 passwords. More iterations increase the amount	of  time
	    required for clients to authenticate to MongoDB, but makes passwords
	    less susceptible to brute-force attempts. The default value is ideal
	    for most common use cases and requirements.

	    If you modify this value, it does not change the iteration count for
	    existing  passwords.  The  scramIterationCount value must be 5000 or
	    greater.

	    This parameter is available both at runtime and at startup:

		   * To set the parameter at runtime, use the setParameter  com-
		     mand

		   * To  set the parameter at startup, use the setParameter set-
		     ting

	    For example, the following sets the scramIterationCount to 12000.

	      mongod --setParameter scramIterationCount=12000

	    Or, if using the setParameter command within mongosh:

	      db.adminCommand( { setParameter: 1, scramIterationCount: 12000 } )

		   * db.changeUserPassword()

		   * db.createUser()

		   * db.updateUser()

     scramSHA256IterationCount

	    Available for both mongod and mongos.

	    Default: 15000

	    Changes  the  number  of  hashing  iterations  used  for   all   new
	    SCRAM-SHA-256 passwords. More iterations increase the amount of time
	    required for clients to authenticate to MongoDB, but makes passwords
	    less susceptible to brute-force attempts. The default value is ideal
	    for most common use cases and requirements.

	    If you modify this value, it does not change iteration count for ex-
	    isting  passwords.	The scramSHA256IterationCount value must be 5000
	    or greater.

	    This parameter is available both at runtime and at startup:

		   * To set the parameter at runtime, use the setParameter  com-
		     mand

		   * To  set the parameter at startup, use the setParameter set-
		     ting

	    For example, the following	sets  the  scramSHA256IterationCount  to
	    20000.

	      mongod --setParameter scramSHA256IterationCount=20000

	    Or, if using the setParameter command within mongosh:

	      db.adminCommand( { setParameter: 1, scramSHA256IterationCount: 20000 } )

		   * db.changeUserPassword()

		   * db.createUser()

		   * db.updateUser()

     sslMode

	    Available for both mongod and mongos.

	    Set  the net.ssl.mode to either preferSSL or requireSSL. Useful dur-
	    ing rolling upgrade to TLS/SSL to minimize downtime.

	    For more information about TLS/SSL and MongoDB, see Configure mongod
	    and mongos for TLS/SSL and TLS/SSL Configuration for Clients .

	    This parameter is only available at runtime. To set  the  parameter,
	    use the setParameter command.

	      db.adminCommand( { setParameter: 1, sslMode: "preferSSL" } )

	    tlsMode

     tlsMode

	    Available for both mongod and mongos.

	    Set to either:

		   * preferTLS

		   * requireTLS

	    The tlsMode parameter is useful during rolling upgrade to TLS/SSL to
	    minimize downtime.

	    This  parameter  is only available at runtime. To set the parameter,
	    use the setParameter command.

	      db.adminCommand( { setParameter: 1, tlsMode: "preferTLS" } )

	    For more information about TLS/SSL and MongoDB, see Configure mongod
	    and mongos for TLS/SSL and TLS/SSL Configuration for Clients .

	    sslMode

     tlsClusterAuthX509Override

	    Overrides the clusterAuthX509 configuration options.

	      setParameter:
		 tlsClusterAuthX509Override: { attributes: O=MongoDB, OU=MongoDB Server }

	    The parameter supports attributes and extensionValue overrides.

	    When the server authenticates connections from members, it	analyzes
	    the  X.509	certificate to determine whether it belongs to a cluster
	    member.  If the server uses the attributes setting or the attributes
	    field on the tlsClusterAuthX509Override  parameter,  it  checks  the
	    Distinguished  Name  (DN)  values of the certificate.  If the exten-
	    sionValue setting or the extensionValue  field  of	the  tlsCluster-
	    AuthX509Override parameter is set, it checks the extension values of
	    the  certificate.  If it finds a match, it authorizes the connection
	    as a peer.

	    Use this parameter to rotate certificates when the new  certificates
	    have different attributes or extension values.

	    This  parameter  is only available at startup. To set the parameter,
	    use the setParameter setting.

     tlsOCSPStaplingTimeoutSecs

	    Available for Linux.

	    The maximum number of seconds the mongod /	mongos	instance  should
	    wait to receive the OCSP status response for its certificates.

	    Specify an integer greater than or equal to (>=) 1. If unset, tlsOC-
	    SPStaplingTimeoutSecs uses the tlsOCSPVerifyTimeoutSecs value.

	    This  parameter  is only available at startup. To set the parameter,
	    use the setParameter setting.

	    For example, the following sets the tlsOCSPStaplingTimeoutSecs to 20
	    seconds:

	      mongod --setParameter tlsOCSPStaplingTimeoutSecs=20 ...

		   * ocspEnabled

		   * ocspValidationRefreshPeriodSecs

		   * tlsOCSPVerifyTimeoutSecs

     tlsOCSPVerifyTimeoutSecs

	    Available for Linux and Windows.

	    Default: 5

	    The maximum number of seconds that the mongod / mongos  should  wait
	    for the OCSP response when verifying server certificates.

	    Specify an integer greater than or equal to (>=) 1.

	    This  parameter  is only available at startup. To set the parameter,
	    use the setParameter setting.

	    For example, the following sets the tlsOCSPVerifyTimeoutSecs  to  20
	    seconds:

	      mongod --setParameter tlsOCSPVerifyTimeoutSecs=20 ...

		   * ocspEnabled

		   * ocspValidationRefreshPeriodSecs

		   * tlsOCSPStaplingTimeoutSecs

     tlsUseSystemCA

	    Available for mongod only.

	    Type: boolean

	    Default: false

	    Specifies  whether	MongoDB  loads TLS certificates that are already
	    available to the operating system's certificate authority.

	    When starting a mongod instance with TLS/SSL enabled, you must spec-
	    ify a value for the --tlsCAFile flag, the net.tls.CAFile  configura-
	    tion option, or the tlsUseSystemCA parameter.

	    --tlsCAFile,  tls.CAFile, and tlsUseSystemCA are all mutually exclu-
	    sive.

	    This parameter is only available at startup. To set  the  parameter,
	    use the setParameter setting.

	    For example, to set tlsUseSystemCA to true:

	      mongod --setParameter tlsUseSystemCA=true

	    For more information about TLS/SSL and MongoDB, see Configure mongod
	    and mongos for TLS/SSL and TLS/SSL Configuration for Clients .

     tlsWithholdClientCertificate

	    Available for both mongod and mongos.

	    Default: false

	    A  TLS  certificate  is  set  for  a  mongod or mongos either by the
	    --tlsClusterFile option or	by  the  --tlsCertificateKeyFile  option
	    when  --tlsClusterFile is not set. If the TLS certificate is set, by
	    default, the instance sends  the  certificate  when  initiating  in-
	    tra-cluster  communications with other mongod or mongos instances in
	    the deployment. Set tlsWithholdClientCertificate to 1 or true to di-
	    rect the instance to withhold sending  its	TLS  certificate  during
	    these  communications.  Use  this  option with --tlsAllowConnection-
	    sWithoutCertificates (to allow inbound connections without	certifi-
	    cates)  on	all members of the deployment. tlsWithholdClientCertifi-
	    cate is mutually exclusive with --clusterAuthMode x509.

	    This parameter is only available at startup. To set  the  parameter,
	    use the setParameter setting.

     tlsX509ClusterAuthDNOverride

	    Available for both mongod and mongos.

	    An	alternative  Distinguished  Name (DN) that the instance can also
	    use to identify members of the deployment.

	    For a MongoDB deployment that uses x.509 certificates  for	cluster-
	    AuthMode,  deployment  members  identify each other using x.509 cer-
	    tificates ( net.tls.clusterFile, if specified, and	net.tls.certifi-
	    cateKeyFile) during intra-cluster communications. For members of the
	    same  deployment,  the DN from their certificates must have the same
	    Organization attributes (O's), the	Organizational	Unit  attributes
	    (OU's), and the Domain Components (DC's).

	    If	tlsX509ClusterAuthDNOverride is set for a member, the member can
	    also use the override value when comparing the DN  components  (O's,
	    OU's,  and	DC's)  of the presented certificates. That is the member
	    checks  the  presented  certificates  against  its	net.tls.cluster-
	    File/net.tls.certificateKeyFile.  If the DN does not match, the mem-
	    ber  checks  the  presented  certificate against the tlsX509Cluster-
	    AuthDNOverride value.

	    If set, you must set this parameter on all members	of  the  deploy-
	    ment.

	    This parameter is available both at runtime and at startup:

		   * To  set the parameter at runtime, use the setParameter com-
		     mand

		   * To set the parameter at startup, use the setParameter  set-
		     ting

	    You  can  use this parameter for a rolling update of certificates to
	    new certificates that contain a new DN value. See Rolling Update  of
	    x.509 Cluster Certificates that Contain New DN.

	    For  more information about membership certificate requirements, see
	    Member Certificate Requirements for details.

     tlsX509ExpirationWarningThresholdDays

	    Available for both mongod and mongos.

	    Default : 30

	    mongod / mongos logs a warning on connection if the presented  x.509
	    certificate  expires  within  30  days  of	the mongod/mongos system
	    clock. Use the  tlsX509ExpirationWarningThresholdDays  parameter  to
	    control the certificate expiration warning threshold:

		   * Increase  the  parameter  value to trigger warnings farther
		     ahead of the certificate expiration date.

		   * Decrease the parameter value to trigger warnings closer  to
		     the certificate expiration date.

		   * Set the parameter to 0 to disable the warning.

	    This parameter has a minimum value of 0.

	    This  parameter  is only available at startup. To set the parameter,
	    use the setParameter setting.

	    See x.509 Certificates Nearing Expiry Trigger Warnings for more  in-
	    formation on x.509 expiration warnings.

	    For  more  information  on	x.509 certificate validity, see RFC 5280
	    4.1.2.5 (https://tools.ietf.org/html/rfc5280#section-4.1.2.5).

     userCacheInvalidationIntervalSecs

	    Available for mongos only.

	    Default: 30

	    On a mongos instance, specifies the interval (in seconds)  at  which
	    the  mongos instance checks to determine whether the in-memory cache
	    of user objects has stale data, and if  so,  clears  the  cache.  If
	    there  are	no  changes  to  user objects, mongos will not clear the
	    cache.

	    This parameter has a minimum value of 1 second and a  maximum  value
	    of 86400 seconds (24 hours).

	    This parameter is available both at runtime and at startup:

		   * To  set the parameter at runtime, use the setParameter com-
		     mand

		   * To set the parameter at startup, use the setParameter  set-
		     ting

     authFailedDelayMs

	    Available for both mongod and mongos.

	    Default: 0

	    Available in MongoDB Enterprise only.

	    The  number  of  milliseconds  to wait before informing clients that
	    their authentication attempt has failed. This parameter  may  be  in
	    the range 0 to 5000, inclusive.

	    Setting this parameter makes brute-force login attacks on a database
	    more  time-consuming.  However,  clients waiting for a response from
	    the MongoDB server still consume server resources, and this may  ad-
	    versely impact benign login attempts if the server is denying access
	    to many other clients simultaneously.

     allowRolesFromX509Certificates

	    Available for both mongod and mongos.

	    Default: true

	    A  boolean flag that allows or disallows the retrieval of authoriza-
	    tion roles from client x.509 certificates.

	    This parameter is only available at startup. To set  the  parameter,
	    use the setParameter setting.

   GENERAL PARAMETERS
     allowDiskUseByDefault

	    Available for mongod only.

	    Default: True

	    Starting  in MongoDB 6.0, pipeline stages that require more than 100
	    megabytes of memory to execute write temporary files to disk by  de-
	    fault.  These  temporary files last for the duration of the pipeline
	    execution and can influence storage space on your instance. In  ear-
	    lier  versions  of MongoDB, you must pass  { allowDiskUse: true } to
	    individual find and aggregate commands to enable this behavior.

	    Individual	find  and  aggregate  commands	can  override  the   al-
	    lowDiskUseByDefault parameter by either:

		   * Using  {  allowDiskUse:  true  } to allow writing temporary
		     files out to disk	when  allowDiskUseByDefault  is  set  to
		     false

		   * Using { allowDiskUse: false } to prohibit writing temporary
		     files out to disk when allowDiskUseByDefault is set to true

	    This parameter is available both at runtime and at startup:

		   * To  set the parameter at runtime, use the setParameter com-
		     mand

		   * To set the parameter at startup, use the setParameter  set-
		     ting

	      mongod --setParameter allowDiskUseByDefault=false

	    allowDiskUseByDefault  only works on mongod not mongos. mongos never
	    writes temporary files to disk. Use the setParameter  command  in  a
	    mongosh  session that is connected to a running mongod to change the
	    value of the parameter while the server is running:

	      db.adminCommand(
		{
		    setParameter: 1,
		    allowDiskUseByDefault: false
		}
	      )

     httpVerboseLogging

	    Available for both mongod and mongos.

	    Adds more verbose tracing for curl on Linux and macOS. Has no affect
	    on Windows.

	    By default, the parameter is unset.

	    This parameter is available both at runtime and at startup:

		   * To set the parameter at runtime, use the setParameter  com-
		     mand

		   * To  set the parameter at startup, use the setParameter set-
		     ting

	      mongos --setParameter httpVerboseLogging=true

     slowConnectionThresholdMillis

	    Available for both mongod and mongos.

	    Default: 100

	    Sets the time limit in milliseconds to log the establishment of slow
	    server connections.

	    If a connection takes longer to establish than  the  slowConnection-
	    ThresholdMillis  parameter,  an  event  is added to the log with the
	    message msg field set to "Slow connection establishment".

	    This parameter is available both at runtime and at startup:

		   * To set the parameter at runtime, use the setParameter  com-
		     mand

		   * To  set the parameter at startup, use the setParameter set-
		     ting

	    The following example sets slowConnectionThresholdMillis to 250 mil-
	    liseconds.

	      mongod --setParameter slowConnectionThresholdMillis=250

	    Or, if using the setParameter command within mongosh:

	      db.adminCommand( { setParameter: 1, slowConnectionThresholdMillis: 250 } )

     connPoolMaxConnsPerHost

	    Available for both mongod and mongos.

	    Default: 200

	    Sets the maximum size of the legacy connection  pools  for	outgoing
	    connections to other mongod instances in the global connection pool.
	    The  size of a pool does not prevent the creation of additional con-
	    nections, but does prevent a connection pool from retaining  connec-
	    tions in excess of the value of connPoolMaxConnsPerHost.

	    The  parameter  is	separate  from	the  connections in TaskExecutor
	    pools. See ShardingTaskExecutorPoolMaxSize.

	    Only adjust this setting if your driver does  not  pool  connections
	    and you're using authentication in the context of a sharded cluster.

	    This  parameter  is only available at startup. To set the parameter,
	    use the setParameter setting.

	      mongod --setParameter connPoolMaxConnsPerHost=250

     connPoolMaxInUseConnsPerHost

	    Available for both mongod and mongos.

	    Sets the maximum number of in-use connections at any given time  for
	    for  outgoing  connections	to  other mongod instances in the legacy
	    global connection pool.

	    By default, the parameter is unset.

	    This parameter is only available at startup. To set  the  parameter,
	    use the setParameter setting.

	      mongod --setParameter connPoolMaxInUseConnsPerHost=100

	    connPoolMaxConnsPerHost

     globalConnPoolIdleTimeoutMinutes

	    Available for both mongod and mongos.

	    Sets  the time limit that connection in the legacy global connection
	    pool can remain idle before being closed.

	    By default, the parameter is unset.

	    This parameter is only available at startup. To set  the  parameter,
	    use the setParameter setting.

	      mongos --setParameter globalConnPoolIdleTimeoutMinutes=10

     cursorTimeoutMillis

	    Available for both mongod and mongos.

	    Default: 600000 (10 minutes)

	    Sets  the  expiration threshold in milliseconds for idle cursors be-
	    fore MongoDB removes them;	specifically,  MongoDB	removes  cursors
	    that have been idle for the specified cursorTimeoutMillis.

	    This parameter is available both at runtime and at startup:

		   * To  set the parameter at runtime, use the setParameter com-
		     mand

		   * To set the parameter at startup, use the setParameter  set-
		     ting

	    For  example,  the	following sets the cursorTimeoutMillis to 300000
	    milliseconds (5 minutes).

	      mongod --setParameter cursorTimeoutMillis=300000

	    Or, if using the setParameter command within mongosh:

	      db.adminCommand( { setParameter: 1, cursorTimeoutMillis: 300000 } )

	    Setting cursorTimeoutMillis to less than or equal to  0  results  in
	    all  cursors being immediately eligible for timeout.  Generally, the
	    timeout value should be greater than the average amount of time  for
	    a  query to return results. Use tools like the cursor.explain() cur-
	    sor modifier to analyze the average query time and select an  appro-
	    priate timeout period.

	    MongoDB  cleans  up  orphaned  cursors linked to sessions as part of
	    session management. This means that orphaned  cursors  with  session
	    ids do not use cursorTimeoutMillis to control the timeout.

	    For  operations  that return a cursor and have an idle period longer
	    than localLogicalSessionTimeoutMinutes, use Mongo.startSession()  to
	    perform  the  operation  within  an explicit session. To refresh the
	    session, run the refreshSessions command. For details, see Refresh a
	    Cursor with refreshSessions.

     maxNumActiveUserIndexBuilds

	    Available for mongod only.

	    Type: integer

	    Default: 3

	    Sets the maximum number of concurrent index builds	allowed  on  the
	    primary. This is a global limit that applies across all collections.

	    Increasing	the  value  of	maxNumActiveUserIndexBuilds allows addi-
	    tional concurrent index builds at the cost of increased pressure  on
	    the WiredTiger cache.

	    System  indexes are not limited to maxNumActiveUserIndexBuilds, how-
	    ever a system index build counts against the limit	for  user  index
	    builds.

	    After  the server reaches maxNumActiveUserIndexBuilds, it blocks ad-
	    ditional user index builds until  the  number  of  concurrent  index
	    builds  drops below the maxNumActiveUserIndexBuilds limit. If an in-
	    dex build is blocked, the server logs this message:

	      Too many index builds running simultaneously, waiting until the
	      number of active index builds is below the threshold.

	    This parameter is available both at runtime and at startup:

		   * To set the parameter at runtime, use the setParameter  com-
		     mand

		   * To  set the parameter at startup, use the setParameter set-
		     ting

	    The following command sets a limit of 4 concurrent index builds:

	      db.adminCommand( { setParameter: 1, maxNumActiveUserIndexBuilds: 4 } )

	    See also:

		   * maxIndexBuildMemoryUsageMegabytes

		   * Index Builds on Populated Collections

     notablescan

	    Available for mongod only.

	    Specify whether all queries must use indexes. If 1, MongoDB will not
	    execute queries that require a collection scan and	will  return  an
	    error.

	    Consider the following example which sets notablescan to 1 or true:

	      db.adminCommand( { setParameter: 1, notablescan: 1 } )

	    Setting  notablescan  to  1  can  be  useful for testing application
	    queries, for example, to identify queries that scan an  entire  col-
	    lection and cannot use an index.

	    To	detect	unindexed  queries without notablescan, consider reading
	    the Analyze Query Performance and Optimize	Query  Performance  sec-
	    tions and using the logLevel parameter, mongostat and profiling.

	    Don't  run production mongod instances with notablescan because pre-
	    venting collection scans can potentially affect queries in all data-
	    bases, including administrative queries.

	    This parameter is available both at runtime and at startup:

		   * To set the parameter at runtime, use the setParameter  com-
		     mand

		   * To  set the parameter at startup, use the setParameter set-
		     ting

	    notablescan does not allow unbounded queries that  use  a  clustered
	    index  because  the queries require a full collection scan. For more
	    information, see Collection Scans.

     ttlMonitorEnabled

	    Available for mongod only.

	    Default: true

	    To support TTL Indexes, mongod instances have  a  background  thread
	    that is responsible for deleting documents from collections with TTL
	    indexes.

	    This parameter is available both at runtime and at startup:

		   * To  set the parameter at runtime, use the setParameter com-
		     mand

		   * To set the parameter at startup, use the setParameter  set-
		     ting

	    To disable this worker thread for a mongod, set ttlMonitorEnabled to
	    false, as in the following operations:

	      db.adminCommand( { setParameter: 1, ttlMonitorEnabled: false } )

	    Alternately,  you may disable the thread at startup time by starting
	    the mongod instance with the following option:

	      mongod --setParameter ttlMonitorEnabled=false

	    Do not run production mongod instances with  ttlMonitorEnabled  dis-
	    abled,  except  under  guidance from MongoDB support. Preventing TTL
	    document removal can negatively impact MongoDB internal system oper-
	    ations that depend on TTL Indexes.

     tcpFastOpenServer

	    Available for both mongod and mongos.

	    Default: true

	    Enables support for accepting inbound TCP Fast  Open  (TFO)  connec-
	    tions  to  the  mongod/mongos  from  a client. TFO requires both the
	    client and mongod/mongos host machine support and enable TFO:

	    Windows

		   The following Windows operating systems support TFO:

			  * Microsoft Windows Server 2016 and later.

			  * Microsoft Windows 10 Update 1607 and later.

	    macOS

		   macOS 10.11 (El Capitan) and later support TFO.

	    Linux

		   Linux operating systems running Linux Kernel 3.7 or later can
		   support inbound TFO.

		   Set the value of  /proc/sys/net/ipv4/tcp_fastopen  to  enable
		   inbound TFO connections:

			  * Set to 2 to enable only inbound TFO connections.

			  * Set  to 3 to enable inbound and outbound TFO connec-
			    tions.

	    This parameter has no effect if the host operating system  does  not
	    support or is not configured to support TFO connections.

	    This  parameter  is only available at startup. To set the parameter,
	    use the setParameter setting.

	    See Support for TCP Fast Open for more information	on  MongoDB  TFO
	    support.

	    RFC7413 (https://tools.ietf.org/html/rfc7413).

     tcpFastOpenClient

	    Available for both mongod and mongos.

	    Default: true

	    Linux Operating System Only

	    Enables  support  for  outbound TCP Fast Open (TFO) connections from
	    the mongod/mongos to a client. TFO requires both the client and  the
	    mongod/mongos host machine support and enable TFO.

	    Linux  operating systems running Linux Kernel 4.11 or later can sup-
	    port outbound TFO.

	    Set the value of /proc/sys/net/ipv4/tcp_fastopen to enable	outbound
	    TFO connections:

		   * 1 to enable only outbound TFO connections.

		   * 3 to enable inbound and outbound TFO connections.

	    This  parameter  has no effect if the host operating system does not
	    support or is not configured to support TFO connections.

	    This parameter is only available at startup. To set  the  parameter,
	    use the setParameter setting.

	    See  Support  for  TCP Fast Open for more information on MongoDB TFO
	    support.

	    RFC7413 (https://tools.ietf.org/html/rfc7413).

     tcpFastOpenQueueSize

	    Available for both mongod and mongos.

	    Default: 1024

	    As part of establishing a TCP Fast Open (TFO) connection, the client
	    submits a valid TFO cookie to the mongod/mongos before completion of
	    the standard TCP 3-way handshake. The mongod/mongos keeps a queue of
	    all such pending TFO connections.

	    The tcpFastOpenQueueSize parameter sets the size  of  the  queue  of
	    pending  TFO connections. While the queue is full, the mongod/mongos
	    falls back to the normal three-way handshake for incoming client re-
	    quests and ignores the presence of TFO cookies.  Once the queue size
	    falls back below the limit, the mongod/mongos begins  accepting  new
	    TFO cookies.

		   * Increasing the default queue size may improve the effect of
		     TFO on network performance. However, large queue sizes also
		     increase  the risk of server resource exhaustion due to ex-
		     cessive incoming TFO requests.

		   * Decreasing the default queue size may reduce  the	risk  of
		     resource server resource exhaustion due to excessive incom-
		     ing  TFO requests.  However, small queue sizes may also re-
		     duce the effect of TFO on network performance.

		     The minimum queue size is 0. A queue of 0 effectively  dis-
		     ables TFO.

	    This  parameter  has no effect on host operating systems that do not
	    support or are not configured for TFO connections. See  Support  for
	    TCP Fast Open for more information on MongoDB TFO support.

	    This  parameter  is only available at startup. To set the parameter,
	    use the setParameter setting.

		   * RFC7413 TCP Fast Open Section  5:	Security  Considerations
		     (https://tools.ietf.org/html/rfc7413#section-5)

		   * RFC7413   TCP   Fast  Open  Section  6:  TFO  Applicability
		     (https://tools.ietf.org/html/rfc7413#section-6)

     disableJavaScriptJIT

	    Available for mongod only.

	    The MongoDB JavaScript engine uses	SpiderMonkey,  which  implements
	    Just-in-Time (JIT) compilation for improved performance when running
	    scripts.

	    This parameter is available both at runtime and at startup:

		   * To  set the parameter at runtime, use the setParameter com-
		     mand

		   * To set the parameter at startup, use the setParameter  set-
		     ting

	    To enable the JIT, set disableJavaScriptJIT to false, as in the fol-
	    lowing example:

	      db.adminCommand( { setParameter: 1, disableJavaScriptJIT: false } )

	    $where  will  reuse  existing  JavaScript  interpreter  contexts, so
	    changes to disableJavaScriptJIT may not take effect immediately  for
	    these operations.

	    Alternately,  you may enable the JIT at startup time by starting the
	    mongod instance with the following option:

	      mongod --setParameter disableJavaScriptJIT=false

     indexBuildMinAvailableDiskSpaceMB

	    Available for mongod only.

	    Default: 500 MB

	    Sets the minimum available disk space in megabytes required for  in-
	    dex builds.

	    Must  be  greater than or equal to 0 MB, and less than or equal to 8
	    TB. 0 disables the minimum disk space requirement.

	    A new index build cannot be started and a  current	index  build  is
	    cancelled  if  the available disk space is below indexBuildMinAvail-
	    ableDiskSpaceMB.

	    If	you  increase  indexBuildMinAvailableDiskSpaceMB,  ensure   your
	    server has enough available disk space. Also, if you set indexBuild-
	    MinAvailableDiskSpaceMB too high, you might needlessly prevent index
	    builds  when  there is enough available disk space and indexBuildMi-
	    nAvailableDiskSpaceMB could be set lower.

	    This parameter is available both at runtime and at startup:

		   * To set the parameter at runtime, use the setParameter  com-
		     mand

		   * To  set the parameter at startup, use the setParameter set-
		     ting

	    The following example sets indexBuildMinAvailableDiskSpaceMB to  650
	    MB:

	      db.adminCommand( { setParameter: 1, indexBuildMinAvailableDiskSpaceMB: 650 } )

	    You  can also set indexBuildMinAvailableDiskSpaceMB at startup.  For
	    example:

	      mongod --setParameter indexBuildMinAvailableDiskSpaceMB=650

     indexMaxNumGeneratedKeysPerDocument

	    Default: 100000

	    Limits the maximum number of keys generated for a document	to  pre-
	    vent out of memory errors. It is possible to raise the limit, but if
	    an	operation  requires  more  keys  than  the indexMaxNumGenerated-
	    KeysPerDocument parameter specifies, the operation will fail.

	    This parameter is only available at startup. To set  the  parameter,
	    use the setParameter setting.

     maxIndexBuildMemoryUsageMegabytes

	    Default: 200

	    Limits  the  amount  of memory that simultaneous index builds on one
	    collection may consume for the duration of the builds. The specified
	    amount of memory is shared between all indexes built using a  single
	    createIndexes  command  or	its shell helper db.collection.createIn-
	    dexes().

	    This parameter is available both at runtime and at startup:

		   * To set the parameter at runtime, use the setParameter  com-
		     mand

		   * To  set the parameter at startup, use the setParameter set-
		     ting

	    The  memory  consumed  by  an  index  build  is  separate  from  the
	    WiredTiger cache memory (see cacheSizeGB).

	    maxIndexBuildMemoryUsageMegabytes  sets  a	limit on how much memory
	    the index build uses at once. This can impact performance  when  the
	    index build process generates and sorts keys for the index. Increas-
	    ing  the  memory  limit improves sorting performance during an index
	    build.

	    Index builds may be initiated either by a user command such as  cre-
	    ateIndexes	or by an administrative process such as an initial sync.
	    Both are subject  to  the  limit  set  by  maxIndexBuildMemoryUsage-
	    Megabytes.

	    An	initial  sync populates only one collection at a time and has no
	    risk of exceeding the memory limit. However, it is	possible  for  a
	    user to start index builds on multiple collections in multiple data-
	    bases  simultaneously  and	potentially  consume an amount of memory
	    greater than the limit set by maxIndexBuildMemoryUsageMegabytes.

	    To minimize the impact of building an  index  on  replica  sets  and
	    sharded  clusters with replica set shards, use a rolling index build
	    procedure as described on Rolling Index Builds on Replica Sets.

	    Changing maxIndexBuildMemoryUsageMegabytes does  not  affect  an  in
	    progress  index  build  if it has already started a collection scan.
	    However, a forced replica set reconfiguration restarts  the  collec-
	    tion  scan	and  uses  the	most  current  maxIndexBuildMemoryUsage-
	    Megabytes provided.

		   * For feature compatibility version (fcv)  "4.2"  and  later,
		     the index build memory limit applies to all index builds.

     reportOpWriteConcernCountersInServerStatus

	    Default: false

	    A  boolean flag that determines whether the db.serverStatus() method
	    and serverStatus command return opWriteConcernCounters information.

	      mongod --setParameter reportOpWriteConcernCountersInServerStatus=true

     watchdogPeriodSeconds

	    Available for mongod only.

	    Type: integer

	    Default: -1 (disabled)

	    Determines how frequent the Storage Node Watchdog checks the  status
	    of the monitored filesystems:

		   * The --dbpath directory

		   * The journal directory inside the --dbpath directory

		   * The directory of --logpath file

		   * The directory of --auditPath file

	    Valid values for watchdogPeriodSeconds are:

		   * -1  (the  default), to disable/pause Storage Node Watchdog,
		     or

		   * An integer greater than or equal to 60.

		   * If a filesystem on a monitored directory becomes  unrespon-
		     sive,  it	can  take a maximum of nearly twice the value of
		     watchdogPeriodSeconds to terminate the mongod.

		   * If any of its monitored directory is  a  symlink  to  other
		     volumes,  the  Storage  Node  Watchdog does not monitor the
		     symlink target. For example, if the mongod uses storage.di-
		     rectoryPerDB: true (or  --directoryperdb)	and  symlinks  a
		     database  directory  to  another  volume,	the Storage Node
		     Watchdog does not follow the symlink to monitor the target.

	    To enable Storage Node Watchdog, watchdogPeriodSeconds must  be  set
	    during startup.

	      mongod --setParameter watchdogPeriodSeconds=60

	    You  can  only enable the Storage Node Watchdog at startup. However,
	    once enabled, you can pause the Storage Node Watchdog or change  the
	    watchdogPeriodSeconds during run time.

	    Once enabled,

		   * To  pause	the  Storage  Node Watchdog during run time, set
		     watchdogPeriodSeconds to -1.

		       db.adminCommand( { setParameter: 1, watchdogPeriodSeconds: -1 } )

		   * To resume or change the period during run time, set  watch-
		     dogPeriodSeconds to a number greater than or equal to 60.

		       db.adminCommand( { setParameter: 1, watchdogPeriodSeconds: 120 } )

	    It is an error to set watchdogPeriodSeconds at run time if the Stor-
	    age Node Watchdog was not enabled at startup time.

     tcmallocAggressiveMemoryDecommit

	    To	release  memory back to the operating system, consider using tc-
	    mallocEnableBackgroundThread instead.

	    Type: integer (0 or 1 only)

	    Default: 0

	    If you enable tcmallocAggressiveMemoryDecommit, MongoDB:

		   * releases a chunk of memory to system, and

		   * attempts to return all neighboring free chunks.

	    A value of 1 enables  tcmallocAggressiveMemoryDecommit;  0	disables
	    this parameter.

	    This parameter is available both at runtime and at startup:

		   * To  set the parameter at runtime, use the setParameter com-
		     mand

		   * To set the parameter at startup, use the setParameter  set-
		     ting

	    If you enable this parameter, the system will require new memory al-
	    locations  for use. Consider enabling tcmallocAggressiveMemoryDecom-
	    mit only on memory-constrained systems and after pursuing other mem-
	    ory and performance options.

     tcmallocEnableBackgroundThread

	    Type: boolean

	    Default: true

	    If set to true, tcmallocEnableBackgroundThread creates a  background
	    thread  that periodically releases memory back to the operating sys-
	    tem. The value of tcmallocReleaseRate determines the rate, in  bytes
	    per second, at which the background thread releases memory.

	    If tcmallocEnableBackgroundThread is true and tcmallocReleaseRate is
	    0, MongoDB still releases memory.

	    For  improved  memory usage, we recommend using the default value of
	    true. To learn more about improvements  to	performance  and  memory
	    management, see Upgraded TCMalloc.

	    This  parameter  is only available at startup. To set the parameter,
	    use the setParameter setting.

	    The  following  operation  sets  tcmallocEnableBackgroundThread   to
	    false:

	      mongod --setParameter "tcmallocEnableBackgroundThread=false"

     tcmallocReleaseRate

	    Default: 0

	    Specifies  the  tcmalloc release rate (https://github.com/google/tc-
	    malloc/blob/master/docs/tuning.md) in bytes per second. Release rate
	    refers to the rate at which MongoDB releases unused  memory  to  the
	    system.  If  tcmallocReleaseRate is set to 0 MongoDB doesn't release
	    memory back to the system. Increase  this  value  to  return  memory
	    faster; decrease it to return memory slower.

	    If tcmallocEnableBackgroundThread is true and tcmallocReleaseRate is
	    0, MongoDB still releases memory.

	    Starting in MongoDB 8.0, the default value of tcmallocReleaseRate is
	    reduced  to 0 due to a tcmalloc upgrade that prioritizes CPU perfor-
	    mance over memory release. Earlier versions of MongoDB used an older
	    version of tcmalloc that set the default tcmallocReleaseRate to 1 to
	    balance memory release and performance.

	    This parameter is available both at runtime and at startup:

		   * To set the parameter at runtime, use the setParameter  com-
		     mand

		   * To  set the parameter at startup, use the setParameter set-
		     ting

	    To modify the release rate during run time, you can use the setPara-
	    meter command; for example:

	      db.adminCommand( { setParameter: 1, tcmallocReleaseRate: 5.0 } )

	    You can also set tcmallocReleaseRate at startup time; for example:

	      mongod --setParameter "tcmallocReleaseRate=5.0"

     fassertOnLockTimeoutForStepUpDown

	    Available for both mongod and mongos.

	    Default: 15 seconds

	    Allows a server that receives a request to step up or step down,  to
	    terminate  if  it  is  unable  to  comply (for example due to faulty
	    server disks) within the timeout. This enables a cluster to success-
	    fully elect a new primary node and thus continue to be available.

	    fassertOnLockTimeoutForStepUpDown defaults to 15 seconds. To disable
	    nodes from fasserting, set fassertOnLockTimeoutForStepUpDown=0.

	    This parameter is available both at runtime and at startup:

		   * To set the parameter at runtime, use the setParameter  com-
		     mand

		   * To  set the parameter at startup, use the setParameter set-
		     ting

	    The following example disables nodes from fasserting:

	      mongod --setParameter fassertOnLockTimeoutForStepUpDown=0

   LOGGING PARAMETERS
     logLevel

	    Available for both mongod and mongos.

	    Specify an integer between 0 and 5 signifying the verbosity  of  the
	    logging, where 5 is the most verbose.

	    The default logLevel is 0 (Informational).

	    This parameter is available both at runtime and at startup:

		   * To  set the parameter at runtime, use the setParameter com-
		     mand

		   * To set the parameter at startup, use the setParameter  set-
		     ting

	    The following example sets the logLevel to 2:

	      db.adminCommand( { setParameter: 1, logLevel: 2 } )

		   * logComponentVerbosity

		   * systemLog.verbosity

     logComponentVerbosity

	    Available for both mongod and mongos.

	    Sets  the  verbosity  levels of various components for log messages.
	    The verbosity level determines the amount of Informational and Debug
	    messages MongoDB outputs.

	    The verbosity level can range from 0 to 5:

		   * 0 is the MongoDB's default log verbosity level, to  include
		     Informational messages.

		   * 1	to 5 increases the verbosity level to include Debug mes-
		     sages.

	    For a component, you can also specify -1  to  inherit  the	parent's
	    verbosity level.

	    To	specify  the verbosity level, use a document similar to the fol-
	    lowing:

	      {
		verbosity: <int>,
		<component1>: { verbosity: <int> },
		<component2>: {
		   verbosity: <int>,
		   <component3>: { verbosity: <int> }
		},
		...
	      }

	    For the components, you can specify just the <component>:  <int>  in
	    the document, unless you are setting both the parent verbosity level
	    and that of the child component(s) as well:

	      {
		verbosity: <int>,
		<component1>: <int> ,
		<component2>: {
		   verbosity: <int>,
		   <component3>: <int>
		}
		...
	      }

	    The  top-level  verbosity  field  corresponds to systemLog.verbosity
	    which sets the default level for all components. The  default  value
	    of systemLog.verbosity is 0.

	    The components correspond to the following settings:

		   * accessControl

		   * command

		   * control

		   * ftdc

		   * geo

		   * index

		   * network

		   * query

		   * replication

		   * replication.election

		   * replication.heartbeats

		   * replication.initialSync

		   * replication.rollback

		   * recovery

		   * sharding

		   * storage

		   * storage.journal

		   * transaction

		   * write

	    Unless  explicitly set, the component has the verbosity level of its
	    parent. For example, storage is the parent of storage.journal.  That
	    is,  if  you  specify a storage verbosity level, this level also ap-
	    plies to:

		   * storage.journal components unless you specify the verbosity
		     level for storage.journal.

		   * storage.recovery components unless  you  specify  the  ver-
		     bosity level for storage.recovery.

	    This parameter is available both at runtime and at startup:

		   * To  set the parameter at runtime, use the setParameter com-
		     mand

		   * To set the parameter at startup, use the setParameter  set-
		     ting

	    For  example,  the	following sets the default verbosity level to 1,
	    the query to 2, the storage to 2, and the storage.journal to 1.

	      db.adminCommand( {
		 setParameter: 1,
		 logComponentVerbosity: {
		    verbosity: 1,
		    query: { verbosity: 2 },
		    storage: {
		       verbosity: 2,
		       journal: {
			  verbosity: 1
		       }
		    }
		 }
	      } )

	    You can also set parameter logComponentVerbosity  at  startup  time,
	    passing the verbosity level document as a string.

	      mongod --setParameter "logComponentVerbosity={command: 3}"

	    mongosh  also provides the db.setLogLevel() to set the log level for
	    a single component. For various ways to set the log verbosity level,
	    see Configure Log Verbosity Levels.

     maxLogSizeKB

	    Available for both mongod and mongos.

	    Type: non-negative integer

	    Default: 10

	    Specifies the maximum size, in  kilobytes,	for  an  individual  at-
	    tribute  field  in	a log entry; attributes exceeding this limit are
	    truncated.

	    Truncated attribute fields print field content  up	to  the  maxLog-
	    SizeKB  limit  and	excise	field content past that limit, retaining
	    valid JSON formatting. Log entries that contain truncated attributes
	    append a truncated object to the end of the log entry.

	    See log message truncation for more information.

	    A value of 0 disables truncation entirely. Negative values for  this
	    parameter are not valid.

	    Using  a large value, or disabling truncation with a value of 0, may
	    adversely affect system performance and negatively	impact	database
	    operations.

	    This parameter is available both at runtime and at startup:

		   * To  set the parameter at runtime, use the setParameter com-
		     mand

		   * To set the parameter at startup, use the setParameter  set-
		     ting

	    The  following  example  sets  the maximum log line size to 20 kilo-
	    bytes:

	      mongod --setParameter maxLogSizeKB=20

     profileOperationResourceConsumptionMetrics

	    Available for mongod only.

	    Type: boolean

	    Default: false

	    Flag that determines whether operations collect resource consumption
	    metrics and report them in the slow query logs.  If you enable  pro-
	    filing, these metrics are also included.

	    If set to true, running the explain command returns operationMetrics
	    when the verbosity is executionStats or higher.

	    This  parameter  is only available at startup. To set the parameter,
	    use the setParameter setting.

     quiet

	    Available for both mongod and mongos.

	    Sets quiet logging mode. If 1, mongod will go into a  quiet  logging
	    mode which will not log the following events/activities:

		   * connection events;

		   * the  drop	command,  the  dropIndexes command, the validate
		     command; and

		   * replication synchronization activities.

	    This parameter is available both at runtime and at startup:

		   * To set the parameter at runtime, use the setParameter  com-
		     mand

		   * To  set the parameter at startup, use the setParameter set-
		     ting

	    Consider the following example which sets the quiet parameter to 1:

	      db.adminCommand( { setParameter: 1, quiet: 1 } )

	    systemLog.quiet

     redactClientLogData

	    Available for both mongod and mongos.

	    Type: boolean

	    Available in MongoDB Enterprise only.

	    Configure the mongod or mongos to redact any message accompanying  a
	    given  log	event  before  logging.   This prevents the program from
	    writing potentially sensitive data stored on the database to the di-
	    agnostic log. Metadata such as error or operation codes,  line  num-
	    bers, and source file names are still visible in the logs.

	    Use  redactClientLogData  in conjunction with Encryption at Rest and
	    TLS/SSL (Transport Encryption) to assist compliance with  regulatory
	    requirements.

	    To enable log redaction at startup, you can either:

		   * Start mongod with the --redactClientLogData option:

		       mongod --redactClientLogData

		   * Set the security.redactClientLogData option in the configu-
		     ration file:

		       security:
			  redactClientLogData: true
			  ...

	    You  can't	use the --setParameter option to set redactClientLogData
	    at startup.

	    To enable log redaction on a running mongod or mongos, use the  fol-
	    lowing command:

	      db.adminCommand( { setParameter: 1, redactClientLogData : true } )

	    security.redactClientLogData

     redactEncryptedFields

	    Available for both mongod and mongos.

	    Type: boolean

	    Default: true

	    Configures mongod and mongos to redact field values of encrypted Bi-
	    nary data from all log messages.

		   * If   the	redactClientLogData   parameter   or  the  secu-
		     rity.redactClientLogData setting is set to false and redac-
		     tEncryptedFields is set to true  (the  default),  encrypted
		     fields are redacted from all log messages.

		   * If  the  redactClientLogData  parameter or security.redact-
		     ClientLogData setting  is	set  to  true,	all  fields  are
		     redacted, regardless of the redactEncryptedFields setting.

	    This parameter is available both at runtime and at startup:

		   * To  set the parameter at runtime, use the setParameter com-
		     mand

		   * To set the parameter at startup, use the setParameter  set-
		     ting

     traceExceptions

	    Available for both mongod and mongos.

	    Configures	mongod	to  log  full source code stack traces for every
	    database and socket C++ exception, for use with debugging.	If true,
	    mongod will log full stack traces.

	    This parameter is only available at runtime. To set  the  parameter,
	    use the setParameter command.

	    Consider  the  following  example  which sets the traceExceptions to
	    true:

	      db.adminCommand( { setParameter: 1, traceExceptions: true } )

	    systemLog.traceAllExceptions

     suppressNoTLSPeerCertificateWarning

	    Available for both mongod and mongos.

	    Type: boolean

	    Default: false

	    By default, a mongod or mongos with TLS/SSL enabled and  net.ssl.al-
	    lowConnectionsWithoutCertificates  : true lets clients connect with-
	    out providing a certificate for validation while logging an warning.
	    Set suppressNoTLSPeerCertificateWarning to 1  or  true  to	suppress
	    those warnings.

	    This  parameter  is only available at startup. To set the parameter,
	    use the setParameter setting.

	    The following operation sets suppressNoTLSPeerCertificateWarning  to
	    true:

	      db.adminCommand( { setParameter: 1, suppressNoTLSPeerCertificateWarning: true} )

     enableDetailedConnectionHealthMetricLogLines

	    Available for both mongod and mongos.

	    Type: boolean

	    Default: true

	    Determines	whether to enable specific log messages related to clus-
	    ter connection health  metrics.  If  enableDetailedConnectionHealth-
	    MetricLogLines  is	set  to  false,  the  following log messages are
	    turned off, but MongoDB still collects data on the	cluster  connec-
	    tion health metrics:

		   *

		     *	 Log Message

		     *	 Description

		   *

		     *	 Accepted TLS connection from peer

		     *	 Indicates  that the server successfully parsed the peer
			 certificate during the TLS handshake with  an	accepted
			 ingress connection.

		   *

		     *	 Ingress TLS handshake complete

		     *	 Indicates  that  the TLS handshake with an ingress con-
			 nection is complete.

		   *

		     *	 Hello completed

		     *	 Indicates that the initial  connection  handshake  com-
			 pleted on an incoming client connection.

			 MongoDB  displays  the  log message only with the first
			 hello command.

		   *

		     *	 Auth metrics report

		     *	 Specifies the completion of a step in	the  authentica-
			 tion conversation.

		   *

		     *	 Received first command on ingress connection since ses-
			 sion start or auth handshake

		     *	 Indicates that an ingress connection received the first
			 command that is not part of the handshake.

		   *

		     *	 Slow network response send time

		     *	 Indicates that the time spent, in milliseconds, to send
			 the response back to the client over an ingress connec-
			 tion  takes  more time than the duration defined by the
			 slowMS server parameter.

		   *

		     *	 Completed client-side verification of OCSP request

		     *	 If the peer doesn't include an OCSP (Online Certificate
			 Status Protocol) response to the TLS handshake when  an
			 egress  TLS  connection is established, the server must
			 send an OCSP request to the certificate authority. Mon-
			 goDB writes this log message when the	certificate  au-
			 thority receives the OCSP response.

		   *

		     *	 Slow connection establishment

		     *	 Indicates  that  the time taken to send a response back
			 to the client over an ingress connection  takes  longer
			 than  the  threshold specified with the slowConnection-
			 ThresholdMillis parameter.  MongoDB also emits this log
			 message when the connection establishment times out.

		   *

		     *	 Operation timed out while waiting to acquire connection

		     *	 Indicates that an operation timed out while waiting  to
			 acquire an egress connection.

		   *

		     *	 Acquired  connection for remote operation and completed
			 writing to wire

		     *	 Indicates that  the  server  took  one  millisecond  or
			 longer  to  write an outgoing request on an egress con-
			 nection, counting from the instant when the  connection
			 establishes.

	    This parameter is available both at runtime and at startup:

		   * To  set the parameter at runtime, use the setParameter com-
		     mand

		   * To set the parameter at startup, use the setParameter  set-
		     ting

   DIAGNOSTIC PARAMETERS
     To facilitate analysis of the MongoDB server behavior by MongoDB engineers,
     MongoDB logs server statistics to diagnostic files at periodic intervals.

     For mongod, the diagnostic data files are stored in the diagnostic.data di-
     rectory under the mongod instance's --dbpath or storage.dbPath.

     For  mongos,  the diagnostic data files, by default, are stored in a direc-
     tory under the mongos instance's --logpath or systemLog.path directory. The
     diagnostic data directory is computed by truncating the logpath's file  ex-
     tension(s) and concatenating diagnostic.data to the remaining name.

     For example, if mongos has --logpath /var/log/mongodb/mongos.log.201708015,
     then  the	diagnostic  data  directory  is /var/log/mongodb/mongos.diagnos-
     tic.data/ directory. To specify a different diagnostic data  directory  for
     mongos, set the diagnosticDataCollectionDirectoryPath parameter.

     The following parameters support diagnostic data capture (FTDC):

     The default values for the diagnostic data capture interval and the maximum
     sizes  are  chosen to provide useful data to MongoDB engineers with minimal
     impact on performance and storage size. Typically, these values  will  only
     need  modifications as requested by MongoDB engineers for specific diagnos-
     tic purposes.

     diagnosticDataCollectionEnabled

	    Available for both mongod and mongos.

	    Type: boolean

	    Default: true

	    Determines whether to enable the collecting and logging of data  for
	    diagnostic purposes. Diagnostic logging is enabled by default.

	    This parameter is available both at runtime and at startup:

		   * To  set the parameter at runtime, use the setParameter com-
		     mand

		   * To set the parameter at startup, use the setParameter  set-
		     ting

	    For example, the following disables the diagnostic collection:

	      mongod --setParameter diagnosticDataCollectionEnabled=false

     diagnosticDataCollectionDirectoryPath

	    Available for mongos only.

	    Type: String

	    If	Full  Time Diagnostic Data Capture (FTDC) is disabled with diag-
	    nosticDataCollectionEnabled or if systemLog.destination  is  set  to
	    syslog,  you must restart mongos after setting diagnosticDataCollec-
	    tionDirectoryPath.

	    Specify the directory for the diagnostic directory	for  mongos.  If
	    the directory does not exist, mongos creates the directory.

	    If	unspecified,  the diagnostic data directory is computed by trun-
	    cating the mongos instance's --logpath or systemLog.path file exten-
	    sion(s) and concatenating diagnostic.data.

	    For  example,  if	mongos	 has   --logpath   /var/log/mongodb/mon-
	    gos.log.201708015,	 then	the   diagnostic   data   directory   is
	    /var/log/mongodb/mongos.diagnostic.data/.

	    If the mongos cannot create the specified directory, the  diagnostic
	    data  capture  is disabled for that instance. mongos may not be able
	    to create the specified directory if a file with the same  name  al-
	    ready exists in the path or if the process does not have permissions
	    to create the directory.

	    This parameter is available both at runtime and at startup:

		   * To  set the parameter at runtime, use the setParameter com-
		     mand

		   * To set the parameter at startup, use the setParameter  set-
		     ting

     diagnosticDataCollectionDirectorySizeMB

	    Available for both mongod and mongos.

	    Type: integer

	    Default: 200

	    Specifies the maximum size, in megabytes, of the diagnostic.data di-
	    rectory.  If directory size exceeds this number, the oldest diagnos-
	    tic files in the directory are automatically deleted  based  on  the
	    timestamp in the file name.

	    This parameter is available both at runtime and at startup:

		   * To  set the parameter at runtime, use the setParameter com-
		     mand

		   * To set the parameter at startup, use the setParameter  set-
		     ting

	    For example, the following sets the maximum size of the directory to
	    250 megabytes:

	      mongod --setParameter diagnosticDataCollectionDirectorySizeMB=250

	    The  minimum value for diagnosticDataCollectionDirectorySizeMB is 10
	    megabytes. diagnosticDataCollectionDirectorySizeMB must  be  greater
	    than  maximum  diagnostic  file  size  diagnosticDataCollectionFile-
	    SizeMB.

     diagnosticDataCollectionFileSizeMB

	    Available for both mongod and mongos.

	    Type: integer

	    Default: 10

	    Specifies the maximum size, in megabytes, of each  diagnostic  file.
	    If	the  file  exceeds  the maximum file size, MongoDB creates a new
	    file.

	    This parameter is available both at runtime and at startup:

		   * To set the parameter at runtime, use the setParameter  com-
		     mand

		   * To  set the parameter at startup, use the setParameter set-
		     ting

	    For example, the following sets the maximum size of each  diagnostic
	    file to 20 megabytes:

	      mongod --setParameter diagnosticDataCollectionFileSizeMB=20

	    The   minimum  value  for  diagnosticDataCollectionFileSizeMB  is  1
	    megabyte.

     diagnosticDataCollectionPeriodMillis

	    Available for both mongod and mongos.

	    Type: integer

	    Default: 1000

	    Specifies the interval, in milliseconds, at which to  collect  diag-
	    nostic data.

	    This parameter is available both at runtime and at startup:

		   * To  set the parameter at runtime, use the setParameter com-
		     mand

		   * To set the parameter at startup, use the setParameter  set-
		     ting

	    For example, the following sets the interval to 5000 milliseconds or
	    5 seconds:

	      mongod --setParameter diagnosticDataCollectionPeriodMillis=5000

	    The  minimum  value  for diagnosticDataCollectionPeriodMillis is 100
	    milliseconds.

   REPLICATION AND CONSISTENCY
     disableSplitHorizonIPCheck

	    Available for both mongod and mongos.

	    Type: boolean

	    Default: false

	    To	 configure    cluster	 nodes	  for	 split	  horizon    DNS
	    (https://en.wikipedia.org/wiki/Split-horizon_DNS),	use  host  names
	    instead of IP addresses.

	    Starting in MongoDB v5.0, replSetInitiate and replSetReconfig reject
	    configurations that use IP addresses instead of hostnames.

	    Use disableSplitHorizonIPCheck to modify nodes that  cannot  be  up-
	    dated  to use host names. The parameter only applies to the configu-
	    ration commands.

	    mongod and mongos do not rely on disableSplitHorizonIPCheck for val-
	    idation at startup.  Legacy mongod and mongos instances that use  IP
	    addresses instead of host names can start after an upgrade.

	    Instances that are configured with IP addresses log a warning to use
	    host names instead of IP addresses.

	    To	allow  configuration  changes  using  IP addresses, set disable-
	    SplitHorizonIPCheck=true using the command line:

	      /usr/local/bin/mongod  --setParameter disableSplitHorizonIPCheck=true -f /etc/mongod.conf

	    This parameter is only available at startup. To set  the  parameter,
	    use the setParameter setting.

	      setParameter:
		 disableSplitHorizonIPCheck: true

     enableOverrideClusterChainingSetting

	    Available for both mongod and mongos.

	    Type: boolean

	    Default: false

	    If	enableOverrideClusterChainingSetting  is  true, replica set sec-
	    ondary members can replicate data from other secondary members  even
	    if settings.chainingAllowed is false.

	    This  parameter  is only available at startup. To set the parameter,
	    use the setParameter setting.

	    For example, to set the enableOverrideClusterChainingSetting  for  a
	    mongod instance to true:

	      mongod --setParameter enableOverrideClusterChainingSetting=true

     logicalSessionRefreshMillis

	    Available for both mongod and mongos.

	    Type: integer

	    Default: 300000 (5 minutes)

	    The interval (in milliseconds) at which the cache refreshes its log-
	    ical session records against the main session store.

	    This  parameter  is only available at startup. To set the parameter,
	    use the setParameter setting.

	    For example, to set the logicalSessionRefreshMillis for a mongod in-
	    stance to 10 minutes:

	      mongod --setParameter logicalSessionRefreshMillis=600000

     localLogicalSessionTimeoutMinutes

	    Available for both mongod and mongos.

	    Type: integer

	    Default: 30

	    This parameter is intended for testing purposes  only  and	not  for
	    production use.

	    The time in minutes that a session remains active after its most re-
	    cent use. Sessions that have not received a new read/write operation
	    from  the  client or been refreshed with refreshSessions within this
	    threshold are cleared from the cache. State associated with  an  ex-
	    pired session may be cleaned up by the server at any time.

	    This  parameter  applies only to the instance on which it is set. To
	    set this parameter on replica sets and sharded  clusters,  you  must
	    specify the same value on every member; otherwise, sessions will not
	    function properly.

	    This  parameter  is only available at startup. To set the parameter,
	    use the setParameter setting.

	    For example, to set the localLogicalSessionTimeoutMinutes for a test
	    mongod instance to 20 minutes:

	      mongod --setParameter localLogicalSessionTimeoutMinutes=20

     maxAcceptableLogicalClockDriftSecs

	    Available for both mongod and mongos.

	    Type: integer

	    Default: 31536000 (1 year)

	    The maximum amount by which the current  cluster  time  can  be  ad-
	    vanced; specifically, maxAcceptableLogicalClockDriftSecs is the max-
	    imum  difference  between  the new value of the cluster time and the
	    current cluster time. Cluster time is a logical time used for order-
	    ing of operations.

	    You cannot advance the cluster time to a new value if the new  clus-
	    ter  time  differs from the current cluster time by more than maxAc-
	    ceptableLogicalClockDriftSecs.

	    This parameter is only available at startup. To set  the  parameter,
	    use the setParameter setting.

	    For  example,  to  set  the maxAcceptableLogicalClockDriftSecs for a
	    mongod instance to 15 minutes:

	      mongod --setParameter maxAcceptableLogicalClockDriftSecs=900

     maxSessions

	    Available for both mongod and mongos.

	    Type: integer

	    Default: 1000000

	    The maximum number of sessions that can be cached.

	    This parameter is only available at startup. To set  the  parameter,
	    use the setParameter setting.

	    For example, to set the maxSessions for a mongod instance to 1000:

	      mongod --setParameter maxSessions=1000

     oplogBatchDelayMillis

	    Available for both mongod and mongos.

	    Type: integer

	    Default: 0

	    The number of milliseconds to delay applying batches of oplog opera-
	    tions  on  secondary  nodes. By default, oplogBatchDelayMillis is 0,
	    meaning oplog batches are applied with no delay. When  there  is  no
	    delay,  MongoDB  may  apply  frequent, small oplog batches to secon-
	    daries.

	    Increasing	oplogBatchDelayMillis  causes  MongoDB	to  apply  oplog
	    batches  less  frequently on secondaries, with each batch containing
	    larger amounts of data. This reduces IOPS  (Input/Output  Operations
	    Per  Second)  on secondaries, but adds latency for writes with write
	    concern "majority".

	    This parameter is only available at startup. To set  the  parameter,
	    use the setParameter setting.

	    For  example,  run	the  following	command to set the oplogBatchDe-
	    layMillis for a mongod instance to 20 milliseconds:

	      mongod --setParameter oplogBatchDelayMillis=20

     periodicNoopIntervalSecs

	    Available for mongod only.

	    Type: integer

	    Default: 10

	    The duration in seconds between noop writes on each individual node.

	    This parameter is only available at startup. To set  the  parameter,
	    use the setParameter setting.

	    To	 modify   this	value  for  a  MongoDB	Atlas  (https://www.mon-
	    godb.com/docs/atlas/)  cluster,  you  must	contact  Atlas	 Support
	    (https://www.mongodb.com/docs/atlas/support/).

	    The  following example sets the periodicNoopIntervalSecs to 1 second
	    at startup:

	      mongod --setParameter periodicNoopIntervalSecs=1

     storeFindAndModifyImagesInSideCollection

	    Available for both mongod and mongos.

	    Type: boolean

	    Default: true

	    Determines whether the temporary documents	required  for  retryable
	    findAndModify commands are stored in the side collection (config.im-
	    age_collection).

	    If storeFindAndModifyImagesInSideCollection is:

		   * true,  the  temporary documents are stored in the side col-
		     lection.

		   * false, the temporary documents are stored	in  the  replica
		     set oplog.

	    Keep storeFindAndModifyImagesInSideCollection set to true if you:

		   * Have a large retryable findAndModify workload.

		   * Require  more  temporary document space for retryable find-
		     AndModify commands than is available  in  the  replica  set
		     oplog.

	    Secondaries may experience increased CPU usage when storeFindAndMod-
	    ifyImagesInSideCollection is true.

	    This parameter is available both at runtime and at startup:

		   * To  set the parameter at runtime, use the setParameter com-
		     mand

		   * To set the parameter at startup, use the setParameter  set-
		     ting

	    For  example,  to  set  storeFindAndModifyImagesInSideCollection  to
	    false during startup:

	      mongod --setParameter storeFindAndModifyImagesInSideCollection=false

	    During run time, you can also set the parameter with the  setParame-
	    ter command:

	      db.adminCommand( { setParameter: 1, storeFindAndModifyImagesInSideCollection: false } )

     TransactionRecordMinimumLifetimeMinutes

	    Available for mongod only.

	    Type: integer

	    Default: 30

	    The minimum lifetime a transaction record exists in the transactions
	    collection before the record becomes eligible for cleanup.

	    This  parameter  is only available at startup. To set the parameter,
	    use the setParameter setting.

	    For example, to set the TransactionRecordMinimumLifetimeMinutes  for
	    a mongod instance to 20 minutes:

	      mongod --setParameter TransactionRecordMinimumLifetimeMinutes=20

	    localLogicalSessionTimeoutMinutes

     enableFlowControl

	    Type: boolean

	    Default: true

	    Enables  or  disables  the mechanism that controls the rate at which
	    the primary applies its writes with the goal  of  keeping  the  sec-
	    ondary  members' majority committed lag under a configurable maximum
	    value.

	    This parameter is available both at runtime and at startup:

		   * To set the parameter at runtime, use the setParameter  com-
		     mand

		   * To  set the parameter at startup, use the setParameter set-
		     ting

	    For flow control to engage, the  replica  set/sharded  cluster  must
	    have:  featureCompatibilityVersion (fCV) of 4.2 and read concern ma-
	    jority enabled. That is, enabled flow control has no effect  if  fCV
	    is not 4.2 or if read concern majority is disabled.

     flowControlTargetLagSeconds

	    Type: integer

	    Default: 10

	    The  target  maximum  majority  committed lag when running with flow
	    control. When flow control is enabled,  the  mechanism  attempts  to
	    keep the majority committed lag under the specified seconds. The pa-
	    rameter has no effect if flow control is disabled.

	    The specified value must be greater than 0.

	    In general, the default settings should suffice; however, if modify-
	    ing  from the default value, decreasing, rather than increasing, the
	    value may prove to be more useful.

	    This parameter is available both at runtime and at startup:

		   * To set the parameter at runtime, use the setParameter  com-
		     mand

		   * To  set the parameter at startup, use the setParameter set-
		     ting

     flowControlWarnThresholdSeconds

	    Type: integer

	    Default: 10

	    The amount of time to wait to log a warning once  the  flow  control
	    mechanism detects the majority commit point has not moved.

	    The  specified  value  must be greater than or equal to 0, with 0 to
	    disable warnings.

	    This parameter is available both at runtime and at startup:

		   * To set the parameter at runtime, use the setParameter  com-
		     mand

		   * To  set the parameter at startup, use the setParameter set-
		     ting

     initialSyncTransientErrorRetryPeriodSeconds

	    Type: integer

	    Default: 86400

	    The amount of time in seconds a secondary  performing  initial  sync
	    attempts to resume the process if interrupted by a transient network
	    error. The default value is equivalent to 24 hours.

	    This parameter is available both at runtime and at startup:

		   * To  set the parameter at runtime, use the setParameter com-
		     mand

		   * To set the parameter at startup, use the setParameter  set-
		     ting

     initialSyncSourceReadPreference

	    Available for mongod only.

	    Type: String

	    The preferred source for performing initial sync. Specify one of the
	    following read preference modes:

		   * primary

		   * primaryPreferred (Default for voting replica set members)

		   * secondary

		   * secondaryPreferred

		   * nearest  (Default for newly added or non-voting replica set
		     members)

	    If the replica set has disabled chaining, the  default  initialSync-
	    SourceReadPreference read preference mode is primary.

	    You  cannot specify a tag set or maxStalenessSeconds to initialSync-
	    SourceReadPreference.

	    If the mongod cannot find a sync source based on the specified  read
	    preference,  it logs an error and restarts the initial sync process.
	    The mongod exits with an error if it  cannot  complete  the  initial
	    sync  process after 10 attempts. For more information on sync source
	    selection, see Initial Sync Source Selection.

	    initialSyncSourceReadPreference takes precedence  over  the  replica
	    set's  settings.chainingAllowed  setting  when  selecting an initial
	    sync source. After a replica set member successfully completes  ini-
	    tial  sync, it defers to the value of chainingAllowed when selecting
	    a replication sync source.

	    This parameter is only available at startup. To set  the  parameter,
	    use the setParameter setting.

     initialSyncMethod

	    Available for mongod only.

	    Type: String

	    Default: logical

	    Available only in MongoDB Enterprise.

	    Method used for initial sync.

	    Set  to logical to use logical initial sync. Set to fileCopyBased to
	    use file copy based initial sync.

	    This parameter only affects the sync method for the member on  which
	    it is specified. Setting this parameter on a single replica set mem-
	    ber  does  not  affect the sync method of any other replica set mem-
	    bers.

	    This parameter is only available at startup. To set  the  parameter,
	    use the setParameter setting.

     maxNumSyncSourceChangesPerHour

	    Type: integer

	    Default: 3

	    Sync  sources  are	evaluated each time a sync source is updated and
	    each time a node fetches a batch of oplog entries. If there are more
	    than maxNumSyncSourceChangesPerHour source changes in an  hour,  the
	    node temporarily stops re-evaluating that sync source. If this para-
	    meter is set with a high value, the node may make unnecessary source
	    changes.

	    This  parameter  will  not prevent a node from starting to sync from
	    another node if it	doesn't  have  a  sync	source.  The  node  will
	    re-evaluate if a sync source becomes invalid. Similarly, if the pri-
	    mary  changes and chaining is disabled, the node will update to sync
	    from the new primary.

	    This parameter is available both at runtime and at startup:

		   * To set the parameter at runtime, use the setParameter  com-
		     mand

		   * To  set the parameter at startup, use the setParameter set-
		     ting

     oplogFetcherUsesExhaust

	    Available for mongod only.

	    Type: boolean

	    Default: true

	    Enables or disables streaming replication. Set the value to true  to
	    enable streaming replication.

	    Set  the  value  to  false to disable streaming replication. If dis-
	    abled, secondaries fetch batches of oplog entries by issuing  a  re-
	    quest to their sync from source and waiting for a response. This re-
	    quires a network roundtrip for each batch of oplog entries.

	    This  parameter  is only available at startup. To set the parameter,
	    use the setParameter setting.

     oplogInitialFindMaxSeconds

	    Available for mongod only.

	    Type: integer

	    Default: 60

	    Maximum time in seconds for a member of a replica set  to  wait  for
	    the find command to finish during data synchronization.

	    This parameter is available both at runtime and at startup:

		   * To  set the parameter at runtime, use the setParameter com-
		     mand

		   * To set the parameter at startup, use the setParameter  set-
		     ting

     replWriterThreadCount

	    Available for mongod only.

	    Type: integer

	    Default: 16

	    Maximum  number  of threads to use to apply replicated operations in
	    parallel. Values can range from 1 to  256  inclusive.  However,  the
	    maximum  number  of  threads  used	is capped at twice the number of
	    available cores.

	    This parameter is only available at startup. To set  the  parameter,
	    use the setParameter setting.

	    replWriterMinThreadCount

     replWriterMinThreadCount

	    Available for mongod only.

	    Type: integer

	    Default: 0

	    Minimum  number  of threads to use to apply replicated operations in
	    parallel. Values can range from 0 to 256 inclusive. You can only set
	    replWriterMinThreadCount at startup and cannot change  this  setting
	    with the setParameter command.

	    Parallel  application  of  replication  operations	uses  up  to re-
	    plWriterThreadCount threads. If replWriterMinThreadCount is  config-
	    ured  with	a value less than replWriterThreadCount, the thread pool
	    will timeout idle threads until the total count of	threads  in  the
	    thread pool is equal to replWriterMinThreadCount.

	    replWriterMinThreadCount  must  be	configured  with a value that is
	    less than or equal to replWriterThreadCount.

	    This parameter is only available at startup. To set  the  parameter,
	    use the setParameter setting.

     rollbackTimeLimitSecs

	    Type: 64-bit integer

	    Default: 86400  (1 day)

	    Maximum  age  of  data  that can be rolled back. Negative values for
	    this parameter are not valid.

	    If the time between the end of the to-be-rolledback instance's oplog
	    and the first operation after the common point (the last point where
	    the source node and the to-be-rolledback node had the same data) ex-
	    ceeds this value, the rollback will fail.

	    To effectively have an unlimited rollback period, set the  value  to
	    2147483647	which  is  the	maximum  value allowed and equivalent to
	    roughly 68 years.

	    This parameter is available both at runtime and at startup:

		   * To set the parameter at runtime, use the setParameter  com-
		     mand

		   * To  set the parameter at startup, use the setParameter set-
		     ting

     waitForSecondaryBeforeNoopWriteMS

	    Available for mongod only.

	    Type: integer

	    Default: 10

	    The length of time (in milliseconds) that a secondary must	wait  if
	    the  afterClusterTime is greater than the last applied time from the
	    oplog. After the waitForSecondaryBeforeNoopWriteMS	passes,  if  the
	    afterClusterTime  is  still  greater than the last applied time, the
	    secondary makes a no-op write to advance the last applied time.

	    This parameter is available both at runtime and at startup:

		   * To set the parameter at runtime, use the setParameter  com-
		     mand

		   * To  set the parameter at startup, use the setParameter set-
		     ting

	    The following example sets the waitForSecondaryBeforeNoopWriteMS  to
	    20 milliseconds:

	      mongod --setParameter waitForSecondaryBeforeNoopWriteMS=20

	    During  run time, you can also set the parameter with the setParame-
	    ter command:

	      db.adminCommand( { setParameter: 1, waitForSecondaryBeforeNoopWriteMS: 20 } )

     createRollbackDataFiles

	    Available for mongod only.

	    Type: boolean

	    Default: true

	    Flag that determines whether MongoDB  creates  rollback  files  that
	    contains documents affected during a rollback.

	    By	default, createRollbackDataFiles is true and MongoDB creates the
	    rollback files.

	    This parameter is available both at runtime and at startup:

		   * To set the parameter at runtime, use the setParameter  com-
		     mand

		   * To  set the parameter at startup, use the setParameter set-
		     ting

	    The following example sets createRollbackDataFiles to false so  that
	    the rollback files are not created:

	      mongod --setParameter createRollbackDataFiles=false

	    During  run time, you can also set the parameter with the setParame-
	    ter command:

	      db.adminCommand( { setParameter: 1, createRollbackDataFiles: false } )

	    For more information, see Collect Rollback Data.

     replBatchLimitBytes

	    Default: 104857600 (100MB)

	    Sets the maximum oplog application batch size in bytes.

	    Values can range from 16777216 (16MB) to  104857600  (100MB)  inclu-
	    sive.

	    This parameter is available both at runtime and at startup:

		   * To  set the parameter at runtime, use the setParameter com-
		     mand

		   * To set the parameter at startup, use the setParameter  set-
		     ting

	    The following example sets replBatchLimitBytes to 64 MB to limit the
	    oplog application batch size:

	      mongod --setParameter replBatchLimitBytes=67108864

	    During  run time, you can also set the parameter with the setParame-
	    ter command:

	      db.adminCommand( { setParameter: 1, replBatchLimitBytes: 64 * 1024 * 1024 } )

     mirrorReads

	    Available for mongod only.

	    Type: Document

	    Default: { samplingRate: 0.01, maxTimeMS: 1000 }

	    Specifies the settings for mirrored reads for the  mongod  instance.
	    The settings only take effect when the member is a primary.

	    The  parameter  mirrorReads takes a JSON document with the following
	    fields:

		   *

		     *	 Field

		     *	 Description

		   *

		     *	 samplingRate

		     *	 The sampling rate used to mirror a subset of operations
			 that  support	mirroring  to  a  subset  of   electable
			 (specifically,   priority  greater than 0) secondaries.
			 That is, the primary mirrors reads  to  each  electable
			 secondary at the specified sampling rate.

			 Valid values are:

			 *

			       *       0.0

			       *       Turns off mirroring.

			 *

			       *       1.0

			       *       The  primary  mirrors all operations that
				       supports mirroring to each electable sec-
				       ondary.

			 *

			       *       Number between 0.0 and 1.0 (exclusive)

			       *       The primary randomly samples  each  elec-
				       table  secondary at the specified rate to
				       be sent mirrored reads.

			 For example, given a replica set with a primary and two
			 electable secondaries and a sampling rate of 0.10,  the
			 primary  mirrors  reads  to each electable secondary at
			 the sampling rate of 10 percent such that one read  may
			 be mirrored to one secondary and not to the other or to
			 both  or  to  neither. That is, if the primary receives
			 100 operations that can be mirrored, the sampling  rate
			 of  0.10  may	result	in 8 reads being mirrored to one
			 secondary and 13 reads to the other or 10 to each, etc.

			 The default value is 0.01.

		   *

		     *	 maxTimeMS

		     *	 The maximum  time  in	milliseconds  for  the	mirrored
			 reads. The default value is 1000.

			 The  maxTimeMS  for the mirrored reads is separate from
			 the maxTimeMS of the original read being mirrored.

	    This parameter is available both at runtime and at startup:

		   * To set the parameter at runtime, use the setParameter  com-
		     mand

		   * To  set the parameter at startup, use the setParameter set-
		     ting

	    If you specify from the configuration file or on the  command  line,
	    enclose the mirrorReads document in quotes.

	    For  example,  the	following sets the mirror reads sampling rate to
	    0.10 from the command line:

	      mongod --setParameter mirrorReads='{ samplingRate: 0.10 }'

	    Or, to specify in a configuration file:

	      setParameter:
		 mirrorReads: '{samplingRate: 0.10}'

	    Or if using the setParameter command in a mongosh  session	that  is
	    connected  to  a  running  mongod,	do  not  enclose the document in
	    quotes:

	      db.adminCommand( { setParameter: 1, mirrorReads: { samplingRate: 0.10 } } )

     allowMultipleArbiters

	    Available for mongod only.

	    Type: boolean

	    Default: false

	    Specifies whether the replica set allows the  use  of  multiple  ar-
	    biters.

	    The use of multiple arbiters is not recommended:

		   * Multiple  arbiters prevent the reliable use of the majority
		     write concern.  MongoDB counts arbiters  in  calculating  a
		     membership  majority,  but arbiters do not store data. With
		     the inclusion of multiple arbiters, it's possible for a ma-
		     jority write operation to return success before  the  write
		     replicates to a majority of data bearing nodes.

		   * Multiple  arbiters allow replica sets to accept writes even
		     when the replica set doesn't  have  sufficient  secondaries
		     for data replication.

	    For more information, see Concerns with Multiple Arbiters.

	    This  parameter  is only available at startup. To set the parameter,
	    use the setParameter setting.

	      mongod --setParameter allowMultipleArbiters=true

   SHARDING PARAMETERS
     analyzeShardKeyCharacteristicsDefaultSampleSize

	    Available for mongod only.

	    Type: integer

	    Default: 10000000

	    If sampleRate and sampleSize are not set when you run  analyzeShard-
	    Key,  specifies  the  number of documents to sample when calculating
	    shard key characteristics metrics. Must be greater than 0.

	    This parameter is available both at runtime and at startup:

		   * To set the parameter at runtime, use the setParameter  com-
		     mand

		   * To  set the parameter at startup, use the setParameter set-
		     ting

	    This example sets analyzeShardKeyCharacteristicsDefaultSampleSize to
	    10000 at startup:

	      mongod --setParameter analyzeShardKeyCharacteristicsDefaultSampleSize=10000

	    During run time, you can set or modify the parameter with the setPa-
	    rameter command:

	      db.adminCommand( { setParameter: 1, analyzeShardKeyCharacteristicsDefaultSampleSize: 10000 } )

     analyzeShardKeyNumMostCommonValues

	    Available for mongod only.

	    Type: integer

	    Default: 5

	    Specifies the number of most common shard key values to  return.  If
	    the collection contains fewer unique shard keys than this value, an-
	    alyzeShardKeyNumMostCommonValues  returns that number of most common
	    values. Must be greater than 0 and less than or equal to 1000.

	    This parameter is available both at runtime and at startup:

		   * To set the parameter at runtime, use the setParameter  com-
		     mand

		   * To  set the parameter at startup, use the setParameter set-
		     ting

	    This  example  sets  analyzeShardKeyNumMostCommonValues  to   3   at
	    startup:

	      mongod --setParameter analyzeShardKeyNumMostCommonValues=3

	    During run time, you can set or modify the parameter with the setPa-
	    rameter command:

	      db.adminCommand( { setParameter: 1, analyzeShardKeyNumMostCommonValues: 3 } )

     analyzeShardKeyNumRanges

	    Available for mongod only.

	    Type: integer

	    Default: 100

	    Specifies the number of ranges to partition the shard key space into
	    when  calculating  the  hotness of shard key ranges. Must be greater
	    than 0 and less than or equal to 10000.

	    This parameter is available both at runtime and at startup:

		   * To set the parameter at runtime, use the setParameter  com-
		     mand

		   * To  set the parameter at startup, use the setParameter set-
		     ting

	    This example sets analyzeShardKeyNumRanges to 50 at startup:

	      mongod --setParameter analyzeShardKeyNumRanges=50

	    During run time, you can set or modify the parameter with the setPa-
	    rameter command:

	      db.adminCommand( { setParameter: 1, analyzeShardKeyNumRanges: 50 } )

     analyzeShardKeyMonotonicityCorrelationCoefficientThreshold

	    Available for mongod only.

	    Type: double

	    Default: 0.7

	    Specifies the RecordId correlation coefficient threshold used to de-
	    termine if a shard key is monotonically changing in insertion order.
	    Must be greater than 0 and less than or equal to 1.

	    This parameter is available both at runtime and at startup:

		   * To set the parameter at runtime, use the setParameter  com-
		     mand

		   * To  set the parameter at startup, use the setParameter set-
		     ting

	    This example sets analyzeShardKeyMonotonicityCorrelationCoefficient-
	    Threshold to 1 at startup:

	      mongod --setParameter analyzeShardKeyMonotonicityCorrelationCoefficientThreshold=1

	    During run time, you can set or modify the parameter with the setPa-
	    rameter command:

	      db.adminCommand( { setParameter: 1, analyzeShardKeyMonotonicityCorrelationCoefficientThreshold: 1 } )

     autoMergerIntervalSecs

	    Available for mongod only.

	    Type: integer

	    Default: 3600

	    When AutoMerger is enabled, specifies the amount of time between au-
	    tomerging rounds, in seconds. The default value is 3600 seconds,  or
	    one hour.

	    autoMergerIntervalSecs can only be set on config servers.

	    This parameter is available both at runtime and at startup:

		   * To  set the parameter at runtime, use the setParameter com-
		     mand

		   * To set the parameter at startup, use the setParameter  set-
		     ting

	    This  example  sets  autoMergerIntervalSecs  to 7200 seconds, or two
	    hours, at startup:

	      mongod --setParameter autoMergerIntervalSecs=7200

	    During run time, you can set or modify the parameter with the setPa-
	    rameter command:

	      db.adminCommand( { setParameter: 1, autoMergerIntervalSecs: 7200 } )

     autoMergerThrottlingMS

	    Available for mongod only.

	    Type: integer

	    Default: 15000

	    When AutoMerger is enabled, specifies the minimum  amount  time  be-
	    tween  merges initiated by the AutoMerger on the same collection, in
	    milliseconds.

	    autoMergerThrottlingMS can only be set on config servers.

	    This parameter is available both at runtime and at startup:

		   * To set the parameter at runtime, use the setParameter  com-
		     mand

		   * To  set the parameter at startup, use the setParameter set-
		     ting

	    This example sets autoMergerThrottlingMS to 60000  milliseconds,  or
	    one minute, at startup:

	      mongod --setParameter autoMergerThrottlingMS=60000

	    During run time, you can set or modify the parameter with the setPa-
	    rameter command:

	      db.adminCommand( { setParameter: 1, autoMergerThrottlingMS: 60000 } )

     balancerMigrationsThrottlingMs

	    Available for mongod only.

	    Type: integer

	    Default: 1000

	    Specifies the minimum amount of time between two consecutive balanc-
	    ing rounds. This allows you to throttle the balancing rate. This pa-
	    rameter only takes effect on config server nodes.

	    This parameter is available both at runtime and at startup:

		   * To  set the parameter at runtime, use the setParameter com-
		     mand

		   * To set the parameter at startup, use the setParameter  set-
		     ting

	    This  example  sets balancerMigrationsThrottlingMs to 2000 millisec-
	    onds at startup:

	      mongod --setParameter balancerMigrationsThrottlingMs=2000

	    During run time, you can also set the parameter with the  setParame-
	    ter command:

	      db.adminCommand( { setParameter: 1, balancerMigrationsThrottlingMs: 2000 } )

     chunkDefragmentationThrottlingMS

	    Available for both mongod and mongos.

	    Type: integer

	    Default: 0

	    Specifies the minimum time period (in milliseconds) between consecu-
	    tive split and merge commands run by the balancer when the chunks in
	    a  sharded	collection  are defragmented. chunkDefragmentationThrot-
	    tlingMS limits the rate of split and merge commands.

	    This parameter is available both at runtime and at startup:

		   * To set the parameter at runtime, use the setParameter  com-
		     mand

		   * To  set the parameter at startup, use the setParameter set-
		     ting

	    The following example sets	chunkDefragmentationThrottlingMS  to  10
	    milliseconds:

	      mongod --setParameter chunkDefragmentationThrottlingMS=10

	    During  run time, you can also set the parameter with the setParame-
	    ter command:

	      db.adminCommand( { setParameter: 1, chunkDefragmentationThrottlingMS: 10 } )

     chunkMigrationConcurrency

	    Available starting in MongoDB 7.0, 6.3, 6.0.6 (and 5.0.15).

	    Available for mongod only.

	    Type: integer

	    Default: 1

	    Specifies an integer that sets the number of threads on  the  source
	    shard  and the receiving shard for chunk migration. Chunk migrations
	    use the number of threads that you set on the  receiving  shard  for
	    both the source and receiving shard.

	    Increasing the concurrency improves chunk migration performance, but
	    also  increases the workload and disk IOPS usage on the source shard
	    and the receiving shard.

	    Maximum value is 500.

	    You should typically use half the  total  number  of  CPU  cores  as
	    threads.  For  example,  if  the  total is 16 cores, set chunkMigra-
	    tionConcurrency to 8 threads (or fewer).

	    If chunkMigrationConcurrency is greater than 1, the _secondaryThrot-
	    tle configuration setting is ignored. The _secondaryThrottle setting
	    determines when the chunk migration proceeds with the next	document
	    in the chunk. For details, see Range Migration and Replication.

	    This parameter is available both at runtime and at startup:

		   * To  set the parameter at runtime, use the setParameter com-
		     mand

		   * To set the parameter at startup, use the setParameter  set-
		     ting

	    The following example sets chunkMigrationConcurrency to 5:

	      mongod --setParameter chunkMigrationConcurrency=5

	    During  run time, you can also set the parameter with the setParame-
	    ter command:

	      db.adminCommand( { setParameter: 1, chunkMigrationConcurrency: 5 } )

	    To configure collection balancing, see configureCollectionBalancing.

	    To learn about defragmenting  sharded  collections,  see  Defragment
	    Sharded Collections.

     disableResumableRangeDeleter

	    Available for mongod only.

	    Type: boolean

	    Default: false

	    If	set  on a shard's primary, specifies if range deletion is paused
	    on the shard. If set to true, cleanup of ranges containing	orphaned
	    documents  is  paused.   The  shard can continue to donate chunks to
	    other shards, but the donated documents will  not  be  removed  from
	    this  shard  until	you  set this parameter to false. This shard can
	    continue to receive chunks from other shards as long as it does  not
	    have a pending range deletion task in the config.rangeDeletions col-
	    lection that overlaps with the incoming chunk's range.

	    When  disableResumableRangeDeleter is true, chunk migrations fail if
	    orphaned documents exist on the recipient  shard's	primary  in  the
	    same range as the incoming chunks.

	    The  parameter  has no effect on the mongod if it is not the shard's
	    primary.

	    If you set disableResumableRangeDeleter parameter  to  true,  ensure
	    that  you  apply  it  consistently	for  all  members in the shard's
	    replica set. In the event of a failover, this setting's value on the
	    new primary dictates the behavior of the range deleter.

	    This parameter is only available at startup. To set  the  parameter,
	    use the setParameter setting.

	      mongod --setParameter disableResumableRangeDeleter=false

     enableShardedIndexConsistencyCheck

	    Available for mongod only.

	    Type: boolean

	    Default: true

	    If set on the config server's primary, enables or disables the index
	    consistency  check for sharded collections. The parameter has no ef-
	    fect on the mongod if it is not the config server's primary.

	    This parameter is available both at runtime and at startup:

		   * To set the parameter at runtime, use the setParameter  com-
		     mand

		   * To  set the parameter at startup, use the setParameter set-
		     ting

	    The following  example  sets  enableShardedIndexConsistencyCheck  to
	    false for a config server primary:

	      mongod --setParameter enableShardedIndexConsistencyCheck=false

	    During  run time, you can also set the parameter with the setParame-
	    ter command:

	      db.adminCommand( { setParameter: 1, enableShardedIndexConsistencyCheck: false } )

		   * shardedIndexConsistencyCheckIntervalMS parameter

		   * shardedIndexConsistency metrics returned by the  serverSta-
		     tus command.

     opportunisticSecondaryTargeting

	    Available for mongos only.

	    Type: boolean

	    Default: false

	    Determines	whether  mongos  performs  opportunistic  reads  against
	    replica sets.

	    When this parameter is set to true, mongos directs	secondary  reads
	    to	secondaries with active connections. It sends the request to the
	    first secondary that accepts the connection. When this parameter  is
	    set  to false, mongos holds secondary reads until it can establish a
	    connection to a specific secondary, (except in the	case  of  hedged
	    reads).

	    Under certain workloads, opportunistic reads may trigger the opening
	    of	unnecessary connections from mongos to mongod and reduce overall
	    performance.  This parameter should not be enabled unless  your  ap-
	    plication has a specific need for the feature.

	    This parameter is available both at runtime and at startup:

		   * To  set the parameter at runtime, use the setParameter com-
		     mand

		   * To set the parameter at startup, use the setParameter  set-
		     ting

	    For example, to set opportunisticSecondaryTargeting during startup:

	      mongos --setParameter opportunisticSecondaryTargeting=true

     shardedIndexConsistencyCheckIntervalMS

	    Available for mongod only.

	    Type: integer

	    Default: 600000

	    If	set  on  the config server's primary, the interval, in millisec-
	    onds, at which the config server's primary checks the index  consis-
	    tency  of  sharded	collections.  The parameter has no effect on the
	    mongod if it is not the config server's primary.

	    This parameter is only available at startup. To set  the  parameter,
	    use the setParameter setting.

	    For  example, the following sets the interval at 300000 milliseconds
	    (5 minutes) at startup:

	      mongod --setParameter shardedIndexConsistencyCheckIntervalMS=300000

		   * enableShardedIndexConsistencyCheck parameter

		   * shardedIndexConsistency metrics returned by the  serverSta-
		     tus commandq

     enableFinerGrainedCatalogCacheRefresh

	    Available for both mongod and mongos.

	    Type: boolean

	    Default: true

	    This  parameter allows the catalog cache to be refreshed only if the
	    shard needs to be refreshed. If disabled, any stale chunk will cause
	    the entire chunk distribution for  a  collection  to  be  considered
	    stale  and	force all routers who contact the shard to refresh their
	    shard catalog cache.

	    This parameter is only available at startup. To set  the  parameter,
	    use the setParameter setting.

	      mongod --setParameter enableFinerGrainedCatalogCacheRefresh=true
	      mongos --setParameter enableFinerGrainedCatalogCacheRefresh=true

		   * Sharding

		   * shardingStatistics.catalogCache

     maxTimeMSForHedgedReads

	    Starting  in  MongoDB 8.0, hedged reads are deprecated. Queries that
	    specify the read preference nearest no longer use  hedged  reads  by
	    default. If you explicitly specify a hedged read, MongoDB performs a
	    hedged read and logs a warning.

	    Available for mongos only.

	    Type: integer

	    Default: 150

	    Specifies  the  maximum  time limit (in milliseconds) for the hedged
	    read. That is, the additional read sent to hedge the read  operation
	    uses  the  maxTimeMS value of maxTimeMSForHedgedReads while the read
	    operation that is being hedged uses the  maxTimeMS	value  specified
	    for the operation.

	    This parameter is available both at runtime and at startup:

		   * To  set the parameter at runtime, use the setParameter com-
		     mand

		   * To set the parameter at startup, use the setParameter  set-
		     ting

	    For example, to set the limit to 200 milliseconds, you can issue the
	    following during startup:

	      mongos --setParameter maxTimeMSForHedgedReads=200

	    Or	if  using  the setParameter command in a mongosh session that is
	    connected to a running mongos:

	      db.adminCommand( { setParameter: 1, maxTimeMSForHedgedReads: 200 } )

		   * readHedgingMode

		   * Hedged Reads

     maxCatchUpPercentageBeforeBlockingWrites

	    Available for mongod only.

	    Type: integer

	    Default: 10

	    For moveChunk and moveRange operations, specifies the  maximum  per-
	    centage  of untrasferred data allowed by the migration protocol (ex-
	    pressed in percentage of the total chunk size)  to	transition  from
	    the catchup phase to the commit phase.

	    Setting  a higher catchup percentage can decrease the amount of time
	    it takes for the migration to complete at the cost of increased  la-
	    tency during concurrent upsert and delete operations.

	    This  parameter  is only available at startup. To set the parameter,
	    use the setParameter setting.

	    Starting in MongoDB 7.1 (and 7.0.1), you can set the parameter  dur-
	    ing runtime.

	    For  example, to set the maximum percentage to 20, you can issue the
	    following during startup:

	      mongod --setParameter maxCatchUpPercentageBeforeBlockingWrites=20

	    Starting in MongoDB 7.1 (and 7.0.1), you can set the parameter  dur-
	    ing runtime with the setParameter command:

	      db.adminCommand( { setParameter: 1, maxCatchUpPercentageBeforeBlockingWrites: 20} )

	    Live  Migration Protocol (https://github.com/mongodb/mongo/blob/mas-
	    ter/src/mongo/db/s/README.md#the-live-migration-protocol)

     metadataRefreshInTransactionMaxWaitBehindCritSecMS

	    Available for mongod only.

	    Type: integer

	    Default: 500

	    Limits the time a shard waits for a critical section within a trans-
	    action.

	    When a query accesses a shard, a chunk migration  or  DDL  operation
	    may  already  hold	the  critical section for the collection. If the
	    query finds the critical section is taken, the shard waits until the
	    critical section has been released. When the shard	returns  control
	    to	mongos,  mongos  retries  the  query.  However, if a multi-shard
	    transaction interacts with an operation that takes the critical sec-
	    tion on multiple shards, the interaction can result in a distributed
	    deadlock.

	    metadataRefreshInTransactionMaxWaitBehindCritSecMS limits the  maxi-
	    mum time a shard waits within a transaction for the critical section
	    to be released.

	    To	reduce	the  maximum wait time for the critical section within a
	    transaction, lower the value of metadataRefreshInTransactionMaxWait-
	    BehindCritSecMS.

	    If metadataRefreshInTransactionMaxWaitBehindCritSecMS  is  too  low,
	    mongos could use all of its retry attempts and return an error.

	    This parameter is available both at runtime and at startup:

		   * To  set the parameter at runtime, use the setParameter com-
		     mand

		   * To set the parameter at startup, use the setParameter  set-
		     ting

	    For  example,  to set metadataRefreshInTransactionMaxWaitBehindCrit-
	    SecMS to 400 milliseconds:

	      db.adminCommand( { setParameter: 1, metadataRefreshInTransactionMaxWaitBehindCritSecMS: 400 } )

     queryAnalysisSamplerConfigurationRefreshSecs

	    Available for both mongod and mongos.

	    Type: integer

	    Default: 10

	    Interval that a sampler (mongos or mongod) refreshes its query  ana-
	    lyzer sample rates.

	    The  sample rate configured by the configureQueryAnalyzer command is
	    divided among mongos instances in the sharded cluster or mongod  in-
	    stances  in the replica set based on the traffic going through them.
	    To make the sample rate assignment for a mongos or mongod  more  re-
	    sponsive to the traffic going through it, decrease this value.

	    We recommend using the default value.

	    This  parameter  is only available at startup. To set the parameter,
	    use the setParameter setting.

	    Starting in MongoDB 7.0.1, you can set  queryAnalysisSamplerConfigu-
	    rationRefreshSecs during run time.

	    This example sets queryAnalysisSamplerConfigurationRefreshSecs to 60
	    seconds at startup on a mongod instance:

	      mongod --setParameter queryAnalysisSamplerConfigurationRefreshSecs=60

	    This example sets queryAnalysisSamplerConfigurationRefreshSecs to 60
	    seconds at startup on a mongos instance:

	      mongos --setParameter queryAnalysisSamplerConfigurationRefreshSecs=60

	    To set the value to 30 seconds, run the following:

	      db.adminCommand( { setParameter: 1, queryAnalysisSamplerConfigurationRefreshSecs: 30 } )

     queryAnalysisWriterIntervalSecs

	    Available for mongod only.

	    Type: integer

	    Default: 90

	    Interval that sampled queries are written to disk, in seconds.

	    This  parameter  is only available at startup. To set the parameter,
	    use the setParameter setting.

	    Starting in MongoDB 7.0.1,	you  can  set  queryAnalysisWriterInter-
	    valSecs during run time.

	    This  example  sets queryAnalysisWriterIntervalSecs to 60 seconds at
	    startup on a mongod instance:

	      mongod --setParameter queryAnalysisWriterIntervalSecs=60
	      To set the value to 60 seconds, run the following:

	      db.adminCommand( { setParameter: 1, queryAnalysisWriterIntervalSecs: 60 } )

     queryAnalysisWriterMaxMemoryUsageBytes

	    Available for mongod only.

	    Type: integer

	    Default: 100 * 1024 * 1024

	    Maximum amount of memory in bytes that the query sampling writer  is
	    allowed to use. Once the limit is reached, all new queries and diffs
	    are  discarded  from  sampling  until the buffer is flushed. Must be
	    greater than 0.

	    This parameter is available both at runtime and at startup:

		   * To set the parameter at runtime, use the setParameter  com-
		     mand

		   * To  set the parameter at startup, use the setParameter set-
		     ting

	    This example sets queryAnalysisWriterMaxMemoryUsageBytes to 10000000
	    at startup on a mongod instance:

	      mongod --setParameter queryAnalysisWriterMaxMemoryUsageBytes=10000000

     queryAnalysisWriterMaxBatchSize

	    Available for mongod only.

	    Type: integer

	    Default: 100000

	    Maximum number of sampled queries to write to disk at once. Must  be
	    greater than 0 and less than or equal to 100000.

	    This parameter is available both at runtime and at startup:

		   * To  set the parameter at runtime, use the setParameter com-
		     mand

		   * To set the parameter at startup, use the setParameter  set-
		     ting

	    This example sets queryAnalysisWriterMaxBatchSize to 1000 at startup
	    on a mongod instance:

	      mongod --setParameter queryAnalysisWriterMaxBatchSize=1000

	    During  run time, you can also set the parameter with the setParame-
	    ter command:

	      db.adminCommand( { setParameter: 1, queryAnalysisWriterMaxBatchSize: 1000 } )

     queryAnalysisSampleExpirationSecs

	    Available for mongod only.

	    Type: integer

	    Default: 7 * 24 * 3600

	    Amount of time that a sampled query document exists before being re-
	    moved by the TTL monitor, in seconds. Must be greater than 0.

	    This parameter is available both at runtime and at startup:

		   * To set the parameter at runtime, use the setParameter  com-
		     mand

		   * To  set the parameter at startup, use the setParameter set-
		     ting

	    This example sets queryAnalysisSampleExpirationSecs to 691200  (8  *
	    24 * 3600) at startup on a mongod instance:

	      mongod --setParameter queryAnalysisSampleExpirationSecs=691200

	    During  run time, you can also set the parameter with the setParame-
	    ter command:

	      db.adminCommand( { setParameter: 1, queryAnalysisSampleExpirationSecs: 691200 } )

     readHedgingMode

	    Available for mongos only.

	    Type: string

	    Default: on

	    Specifies whether mongos supports hedged reads for those read opera-
	    tions whose read preference have enabled the hedged read option.

	    Available values are:

		   *

		     *	 Value

		     *	 Description

		   *

		     *	 on

		     *	 The mongos instance supports hedged reads for read  op-
			 erations  whose read preference have enabled the hedged
			 read option.

		   *

		     *	 off

		     *	 The mongos instance does not support hedged reads. That
			 is, hedged reads are unavailable, even for read  opera-
			 tions	whose  read  preference  have enabled the hedged
			 read option.

	    This parameter is available both at runtime and at startup:

		   * To set the parameter at runtime, use the setParameter  com-
		     mand

		   * To  set the parameter at startup, use the setParameter set-
		     ting

	    For example, to turn off hedged read support for a mongos  instance,
	    you can issue the following during startup:

	      mongos --setParameter readHedgingMode=off

	    Or	if  using  the setParameter command in a mongosh session that is
	    connected to a running mongos:

	      db.adminCommand( { setParameter: 1, readHedgingMode: "off" } )

		   * Hedged Reads

		   * maxTimeMSForHedgedReads

     routingTableCacheChunkBucketSize

	    Available for both mongod and mongos.

	    Type: integer

	    Default: 500

	    Specifies the size of the routing table cache buckets used to imple-
	    ment chunk grouping optimization. Must be greater than 0.

	    This parameter is only available at startup. To set  the  parameter,
	    use the setParameter setting.

	    For  example, to set the cache chunk bucket size to 250 on a mongod,
	    issue the following command at startup:

	      mongod --setParameter routingTableCacheChunkBucketSize=250

     shutdownTimeoutMillisForSignaledShutdown

	    Available for mongod only.

	    Type: integer

	    Default: 15000

	    Specifies the time (in milliseconds) to wait for any  ongoing  data-
	    base  operations  to complete before initiating a shutdown of mongod
	    in response to a SIGTERM signal.

	    This parameter is available both at runtime and at startup:

		   * To set the parameter at runtime, use the setParameter  com-
		     mand

		   * To  set the parameter at startup, use the setParameter set-
		     ting

	    For example, to set the time to 250 milliseconds, you can issue  the
	    following during startup:

	      mongod --setParameter shutdownTimeoutMillisForSignaledShutdown=250

	    Or	if  using  the setParameter command in a mongosh session that is
	    connected to a running mongod:

	      db.adminCommand( { setParameter: 1, shutdownTimeoutMillisForSignaledShutdown: 250 } )

     mongosShutdownTimeoutMillisForSignaledShutdown

	    Available for mongos only.

	    Type: integer

	    Default: 15000

	    Specifies the time (in milliseconds) to wait for any  ongoing  data-
	    base  operations  to complete before initiating a shutdown of mongos
	    in response to a SIGTERM signal.

	    This parameter is available both at runtime and at startup:

		   * To set the parameter at runtime, use the setParameter  com-
		     mand

		   * To  set the parameter at startup, use the setParameter set-
		     ting

	    For example, to set the time to 250 milliseconds, you can issue  the
	    following during startup:

	      mongos --setParameter mongosShutdownTimeoutMillisForSignaledShutdown=250

	    Or	if  using  the setParameter command in a mongosh session that is
	    connected to a running mongos:

	      db.adminCommand( { setParameter: 1, mongosShutdownTimeoutMillisForSignaledShutdown: 250 } )

     ShardingTaskExecutorPoolHostTimeoutMS

	    Available for both mongod and mongos.

	    Type: integer

	    Default: 300000 (5 minutes)

	    Maximum time that mongos goes without communication to a host before
	    mongos drops all connections to the host.

	    If set, ShardingTaskExecutorPoolHostTimeoutMS should be greater than
	    the sum of ShardingTaskExecutorPoolRefreshRequirementMS  and  Shard-
	    ingTaskExecutorPoolRefreshTimeoutMS.  Otherwise,  mongos adjusts the
	    value of ShardingTaskExecutorPoolHostTimeoutMS to  be  greater  than
	    the sum.

	    This parameter is available both at runtime and at startup:

		   * To  set the parameter at runtime, use the setParameter com-
		     mand

		   * To set the parameter at startup, use the setParameter  set-
		     ting

	    The  following example sets ShardingTaskExecutorPoolHostTimeoutMS to
	    120000 during startup:

	      mongos --setParameter ShardingTaskExecutorPoolHostTimeoutMS=120000

	    During run time, you can also set the parameter with the  setParame-
	    ter command:

	      db.adminCommand( { setParameter: 1, ShardingTaskExecutorPoolHostTimeoutMS: 120000 } )

     ShardingTaskExecutorPoolMaxConnecting

	    Available for both mongod and mongos.

	    Type: integer

	    Default: 2

	    Maximum  number  of  simultaneous  initiating connections (including
	    pending connections in setup/refresh state) each  TaskExecutor  con-
	    nection pool can have to a mongod instance. You can set this parame-
	    ter to control the rate at which mongos adds connections to a mongod
	    instance.

	    If set, ShardingTaskExecutorPoolMaxConnecting should be less than or
	    equal  to ShardingTaskExecutorPoolMaxSize.	If it is greater, mongos
	    ignores the ShardingTaskExecutorPoolMaxConnecting value.

	    This parameter is available both at runtime and at startup:

		   * To set the parameter at runtime, use the setParameter  com-
		     mand

		   * To  set the parameter at startup, use the setParameter set-
		     ting

	    The following example sets ShardingTaskExecutorPoolMaxConnecting  to
	    20 during startup:

	      mongos --setParameter ShardingTaskExecutorPoolMaxConnecting=20

	    During  run time, you can also set the parameter with the setParame-
	    ter command:

	      db.adminCommand( { setParameter: 1, ShardingTaskExecutorPoolMaxConnecting: 20 } )

     ShardingTaskExecutorPoolMaxSize

	    Available for both mongod and mongos.

	    Type: integer

	    Default: 2 64 - 1

	    Maximum number of outbound connections each TaskExecutor  connection
	    pool  can  open  to  any given mongod instance. The maximum possible
	    connections to any given host across all TaskExecutor pools is:

	      ShardingTaskExecutorPoolMaxSize * taskExecutorPoolSize

	    This parameter is available both at runtime and at startup:

		   * To set the parameter at runtime, use the setParameter  com-
		     mand

		   * To  set the parameter at startup, use the setParameter set-
		     ting

	    The following example  sets  ShardingTaskExecutorPoolMaxSize  to  20
	    during startup:

	      mongos --setParameter ShardingTaskExecutorPoolMaxSize=20

	    During  run time, you can also set the parameter with the setParame-
	    ter command:

	      db.adminCommand( { setParameter: 1, ShardingTaskExecutorPoolMaxSize: 20 } )

	    mongos can have up to n TaskExecutor connection pools,  where  n  is
	    the number of cores. See taskExecutorPoolSize.

	    ShardingTaskExecutorPoolMinSize

     ShardingTaskExecutorPoolMaxSizeForConfigServers

	    Available for both mongod and mongos.

	    Type: integer

	    Default: -1

	    Optional  override	for  ShardingTaskExecutorPoolMaxSize  to set the
	    maximum number of outbound connections each TaskExecutor  connection
	    pool can open to a configuration server.

	    When set to:

		   * -1,  ShardingTaskExecutorPoolMaxSize  is  used. This is the
		     default.

		   * an integer value greater than  -1,  overrides  the  maximum
		     number of outbound connections each TaskExecutor connection
		     pool can open to a configuration server.

	    Parameter only applies to sharded deployments.

	    The following example sets ShardingTaskExecutorPoolMaxSize to 2 dur-
	    ing  startup,  which sets the maximum number of outbound connections
	    each TaskExecutor connection pool can open to a configuration server
	    to 2:

	    This parameter is available both at runtime and at startup:

		   * To set the parameter at runtime, use the setParameter  com-
		     mand

		   * To  set the parameter at startup, use the setParameter set-
		     ting

	      mongos --setParameter ShardingTaskExecutorPoolMaxSizeForConfigServers=2

	    During run time, you can also set the parameter with the  setParame-
	    ter command:

	      db.adminCommand( { setParameter: 1, ShardingTaskExecutorPoolMaxSizeForConfigServers: 2 } )

     ShardingTaskExecutorPoolMinSize

	    Available for both mongod and mongos.

	    Type: integer

	    Default: 1

	    Minimum  number of outbound connections each TaskExecutor connection
	    pool can open to any given mongod instance.

	    ShardingTaskExecutorPoolMinSize connections are  created  the  first
	    time  a  connection to a new host is requested from the pool.  While
	    the pool is idle, the pool maintains this number of connections  un-
	    til  ShardingTaskExecutorPoolHostTimeoutMS milliseconds pass without
	    any application using that pool.

	    For a  mongos  using  the  warmMinConnectionsInShardingTaskExecutor-
	    PoolOnStartup parameter, the ShardingTaskExecutorPoolMinSize parame-
	    ter also controls how many connections to each shard host are estab-
	    lished  on startup of the mongos instance before it begins accepting
	    incoming client connections.

	    This parameter is available both at runtime and at startup:

		   * To set the parameter at runtime, use the setParameter  com-
		     mand

		   * To  set the parameter at startup, use the setParameter set-
		     ting

	    The following example sets ShardingTaskExecutorPoolMinSize to 2 dur-
	    ing startup:

	      mongos --setParameter ShardingTaskExecutorPoolMinSize=2

	    During run time, you can also set the parameter with the  setParame-
	    ter command:

	      db.adminCommand( { setParameter: 1, ShardingTaskExecutorPoolMinSize: 2 } )

	    mongos  can  have  up to n TaskExecutor connection pools, where n is
	    the number of cores. See taskExecutorPoolSize.

		   * ShardingTaskExecutorPoolMaxSize

		   * warmMinConnectionsInShardingTaskExecutorPoolOnStartup

     ShardingTaskExecutorPoolMinSizeForConfigServers

	    Available for both mongod and mongos.

	    Type: integer

	    Default: -1

	    Optional override for  ShardingTaskExecutorPoolMinSize  to	set  the
	    minimum  number of outbound connections each TaskExecutor connection
	    pool can open to a configuration server.

	    When set to:

		   * -1, ShardingTaskExecutorPoolMinSize is used.  This  is  the
		     default.

		   * an  integer  value  greater  than -1, overrides the minimum
		     number of outbound connections each TaskExecutor connection
		     pool can open to a configuration server.

	    Parameter only applies to sharded deployments.

	    The following example sets ShardingTaskExecutorPoolMinSize to 2 dur-
	    ing startup, which sets the minimum number of  outbound  connections
	    each TaskExecutor connection pool can open to a configuration server
	    to 2:

	    This parameter is available both at runtime and at startup:

		   * To  set the parameter at runtime, use the setParameter com-
		     mand

		   * To set the parameter at startup, use the setParameter  set-
		     ting

	      mongos --setParameter ShardingTaskExecutorPoolMinSizeForConfigServers=2

	    During  run time, you can also set the parameter with the setParame-
	    ter command:

	      db.adminCommand( { setParameter: 1, ShardingTaskExecutorPoolMinSizeForConfigServers: 2 } )

     ShardingTaskExecutorPoolRefreshRequirementMS

	    Available for both mongod and mongos.

	    Type: integer

	    Default: 60000 (1 minute)

	    Maximum time the mongos waits before attempting to heartbeat an idle
	    connection in the pool. An idle connection may be  discarded  during
	    the refresh if the pool is above its minimum size.

	    If	 set,	ShardingTaskExecutorPoolRefreshRequirementMS  should  be
	    greater than  ShardingTaskExecutorPoolRefreshTimeoutMS.   Otherwise,
	    mongos adjusts the value of ShardingTaskExecutorPoolRefreshTimeoutMS
	    to be less than ShardingTaskExecutorPoolRefreshRequirementMS.

	    This parameter is available both at runtime and at startup:

		   * To  set the parameter at runtime, use the setParameter com-
		     mand

		   * To set the parameter at startup, use the setParameter  set-
		     ting

	    The  following  example sets ShardingTaskExecutorPoolRefreshRequire-
	    mentMS to 90000 during startup:

	      mongos --setParameter ShardingTaskExecutorPoolRefreshRequirementMS=90000

	    During run time, you can also set the parameter with the  setParame-
	    ter command:

	      db.adminCommand( { setParameter: 1, ShardingTaskExecutorPoolRefreshRequirementMS: 90000 } )

     ShardingTaskExecutorPoolRefreshTimeoutMS

	    Available for both mongod and mongos.

	    Type: integer

	    Default: 20000 (20 seconds)

	    Maximum  time the mongos waits for a heartbeat before timing out the
	    heartbeat.

	    If set, ShardingTaskExecutorPoolRefreshTimeoutMS should be less than
	    ShardingTaskExecutorPoolRefreshRequirementMS.  Otherwise, mongos ad-
	    justs the value of	ShardingTaskExecutorPoolRefreshTimeoutMS  to  be
	    less than ShardingTaskExecutorPoolRefreshRequirementMS.

	    This parameter is available both at runtime and at startup:

		   * To  set the parameter at runtime, use the setParameter com-
		     mand

		   * To set the parameter at startup, use the setParameter  set-
		     ting

	    The  following example sets ShardingTaskExecutorPoolRefreshTimeoutMS
	    to 30000 during startup:

	      mongos --setParameter ShardingTaskExecutorPoolRefreshTimeoutMS=30000

	    During run time, you can also set the parameter with the  setParame-
	    ter command:

	      db.adminCommand( { setParameter: 1, ShardingTaskExecutorPoolRefreshTimeoutMS: 30000 } )

     ShardingTaskExecutorPoolReplicaSetMatching

	    Available for both mongod and mongos.

	    Type: string

	    Default: "automatic"

	    On a mongos instance, this parameter sets the policy that determines
	    the  minimum  size	limit  of  its	connection pools to nodes within
	    replica sets.

	    On a mongod instance, this parameter sets the policy that determines
	    the minimum size limit of its connection pools to nodes within other
	    replica sets.

	    Note that this parameter only  manages  connections  for  operations
	    that are directly related to user requests and CRUD operations.

	    Available values are:

		   *

		     *	 Matching Policy

		     *	 Description

		   *

		     *	 "automatic" (Default)

		     *	 Starting in 5.0, "automatic" is the new default value.

			 When  set for a mongos, the instance follows the behav-
			 ior specified for the "matchPrimaryNode" option.

			 When set for a mongod, the instance follows the  behav-
			 ior specified for the "disabled" option.

			 If  the  ShardingTaskExecutorPoolReplicaSetMatching  is
			 set  to  "automatic",	the   replicaSetMatchingStrategy
			 still	describes the actual policy being used, not "au-
			 tomatic". To find the value of  the  ShardingTaskExecu-
			 torPoolReplicaSetMatching,  use  getParameter which re-
			 turns the value of the server parameter.

		   *

		     *	 "matchPrimaryNode"

		     *	 When set for a mongos, the minimum size  limit  of  the
			 instance's  connection  pool  to  each  secondary  of a
			 replica set in the sharded cluster (specifically, shard
			 replica set and config servers) is equal to the size of
			 its connection pool to that replica set's primary.

			 When set for a mongod, the minimum size  limit  of  the
			 instance's connection pool to each secondary of another
			 replica set in the sharded cluster (specifically, shard
			 replica set and config servers) is equal to the size of
			 its connection pool to that replica set's primary.

			 If  multiple shard servers in your topology can experi-
			 ence a rapid influx of cross-shard operations,  do  not
			 set this option on your mongod instances.

			 In case of a primary stepdown, matchPrimaryNode ensures
			 that  any secondary that becomes the primary can handle
			 the current level of primary reads and writes.

		   *

		     *	 "matchBusiestNode"

		     *	 When set for a  mongos,  the  instance's  minimum  size
			 limit	of  the  connection  pool  to  each  member of a
			 replica set in the sharded cluster (specifically, shard
			 replica set and config servers) is equal to the largest
			 among the active connection counts to the  primary  and
			 each secondary member of that replica set.

			 When  set  for  a  mongod,  the instance's minimum size
			 limit of the connection pool to each member of  another
			 replica set in the sharded cluster (specifically, shard
			 replica set and config servers) is equal to the largest
			 among	the  active connection counts to the primary and
			 each secondary member of that replica set.

			 With "matchBusiestNode", mongos maintains  enough  con-
			 nections  to each secondary to handle the current level
			 of primary and secondary reads and writes.  The  number
			 of connections to maintain in the pool decreases as the
			 number of active connections decreases.

		   *

		     *	 "disabled"

		     *	 When set for a mongos, the instance's minimum number of
			 connections  in  the instance's connection pool to each
			 node of a replica set in the sharded clusterv (specifi-
			 cally, shard replica set and config servers)  is  equal
			 to the ShardingTaskExecutorPoolMinSize.

			 When set for a mongod, the instance's minimum number of
			 connections  in  the instance's connection pool to each
			 node of another replica  set  in  the	sharded  cluster
			 (specifically, shard replica set and config servers) is
			 equal to the ShardingTaskExecutorPoolMinSize.

	    This parameter is available both at runtime and at startup:

		   * To  set the parameter at runtime, use the setParameter com-
		     mand

		   * To set the parameter at startup, use the setParameter  set-
		     ting

	    The  following  example sets the ShardingTaskExecutorPoolReplicaSet-
	    Matching to "automatic" during startup:

	      mongod --setParameter ShardingTaskExecutorPoolReplicaSetMatching="automatic"

	    During run time, you can also set the parameter with the  setParame-
	    ter command:

	      db.adminCommand( { setParameter: 1,  ShardingTaskExecutorPoolReplicaSetMatching: "automatic" } )

     taskExecutorPoolSize

	    Available for mongos only.

	    Type: integer

	    Default: 1

	    The number of Task Executor connection pools to use for a given mon-
	    gos.

	    If	the  parameter	value  is 0 or less, the number of Task Executor
	    connection pools is the number of cores with  the  following  excep-
	    tions:

		   * If  the  number of cores is less than 4, the number of Task
		     Executor connection pools is 4.

		   * If the number of cores is greater than 64,  the  number  of
		     Task Executor connection pools is 64.

	    When  running  MongoDB  6.2 or newer on Linux, you cannot modify the
	    taskExecutorPoolSize from the default value of 1.	You  may  modify
	    this parameter when running MongoDB on Windows or macOS.

	    The default value of taskExecutorPoolSize is 1:

	    This parameter is available both at runtime and at startup:

		   * To  set the parameter at runtime, use the setParameter com-
		     mand

		   * To set the parameter at startup, use the setParameter  set-
		     ting

	      mongos --setParameter taskExecutorPoolSize=6

		   * ShardingTaskExecutorPoolMaxSize

		   * ShardingTaskExecutorPoolMinSize

     loadRoutingTableOnStartup

	    Available for mongos only.

	    Type: boolean

	    Default: true

	    Configures	a  mongos  instance  to  preload the routing table for a
	    sharded cluster on startup. With this setting  enabled,  the  mongos
	    caches the cluster-wide routing table for each sharded collection as
	    part  of  its  startup  procedure, before it begins accepting client
	    connections.

	    Without this setting enabled, the mongos only loads a routing  table
	    as	needed	for incoming client connections, and only loads the spe-
	    cific routing table for the namespace of a given request.

	    A mongos instance with the loadRoutingTableOnStartup  parameter  en-
	    abled may experience longer startup times, but will result in faster
	    servicing of initial client connections once started.

	    loadRoutingTableOnStartup is enabled by default.

	    This  parameter  is only available at startup. To set the parameter,
	    use the setParameter setting.

     warmMinConnectionsInShardingTaskExecutorPoolOnStartup

	    Available for mongos only.

	    Type: boolean

	    Default: true

	    Configures a mongos instance  to  prewarm  its  connection	pool  on
	    startup.  With this parameter enabled, the mongos attempts to estab-
	    lish ShardingTaskExecutorPoolMinSize  network  connections	to  each
	    shard  server as part of its startup procedure, before it begins ac-
	    cepting client connections.

	    A timeout for this behavior can be configured with	the  warmMinCon-
	    nectionsInShardingTaskExecutorPoolOnStartupWaitMS parameter. If this
	    timeout  is  reached, the mongos will begin accepting client connec-
	    tions regardless of the size of its connection pool.

	    A mongos instance with this parameter enabled may experience  longer
	    startup times, but will result in faster servicing of initial client
	    connections once started.

	    warmMinConnectionsInShardingTaskExecutorPoolOnStartup  is enabled by
	    default.

	    This parameter is only available at startup. To set  the  parameter,
	    use the setParameter setting.

		   * warmMinConnectionsInShardingTaskExecutorPoolOnStartupWaitMS

		   * ShardingTaskExecutorPoolMinSize

     warmMinConnectionsInShardingTaskExecutorPoolOnStartupWaitMS

	    Available for mongos only.

	    Type: integer

	    Default: 2000 (2 seconds)

	    Sets  the timeout threshold in milliseconds for a mongos to wait for
	    ShardingTaskExecutorPoolMinSize connections to  be	established  per
	    shard  host when using the warmMinConnectionsInShardingTaskExecutor-
	    PoolOnStartup parameter. If this timeout is reached, the mongos will
	    begin accepting client connections regardless of  the  size  of  its
	    connection pool.

	    This  parameter  is only available at startup. To set the parameter,
	    use the setParameter setting.

		   * warmMinConnectionsInShardingTaskExecutorPoolOnStartup

		   * ShardingTaskExecutorPoolMinSize

     migrateCloneInsertionBatchDelayMS

	    Available for mongod only.

	    Type: Non-negative integer

	    Default: 0

	    Time in milliseconds to wait between batches  of  insertions  during
	    cloning  step  of the migration process. This wait is in addition to
	    the secondaryThrottle.

	    The default value of 0 indicates no additional wait.

	    This parameter is available both at runtime and at startup:

		   * To set the parameter at runtime, use the setParameter  com-
		     mand

		   * To  set the parameter at startup, use the setParameter set-
		     ting

	    The following sets the migrateCloneInsertionBatchDelayMS to 200 mil-
	    liseconds:

	      mongod --setParameter migrateCloneInsertionBatchDelayMS=200

	    The parameter may also be set using the setParameter command:

	      db.adminCommand( { setParameter: 1, migrateCloneInsertionBatchDelayMS: 200 } )

     migrateCloneInsertionBatchSize

	    Available for mongod only.

	    Type: Non-negative integer

	    Default: 0

	    The maximum number of documents to insert in a single  batch  during
	    the cloning step of the migration process.

	    The  default value of 0 indicates no maximum number of documents per
	    batch. However, in practice, this results in batches that contain up
	    to 16 MB of documents.

	    This parameter is available both at runtime and at startup:

		   * To set the parameter at runtime, use the setParameter  com-
		     mand

		   * To  set the parameter at startup, use the setParameter set-
		     ting

	    The following sets the migrateCloneInsertionBatchSize to  100  docu-
	    ments:

	      mongod --setParameter migrateCloneInsertionBatchSize=100

	    The parameter may also be set using the setParameter command:

	      db.adminCommand( { setParameter: 1, migrateCloneInsertionBatchSize: 100 } )

     orphanCleanupDelaySecs

	    Available for mongod only.

	    Default: 900 (15 minutes)

	    Minimum  delay  before  a  migrated chunk is deleted from the source
	    shard.

	    Before deleting the chunk during chunk migration, MongoDB waits  for
	    orphanCleanupDelaySecs  or	for  in-progress  queries  involving the
	    chunk to complete on the shard primary, whichever is longer.

	    However, because the shard primary has no knowledge  of  in-progress
	    queries run on the shard secondaries, queries that use the chunk but
	    are  run on secondaries may see documents disappear if these queries
	    take longer than the time to complete the shard primary queries  and
	    the orphanCleanupDelaySecs.

	    This behavior only affects in-progress queries that start before the
	    chunk migration. Queries that start after the chunk migration starts
	    will not use the migrating chunk.

	    If	a  shard  has  storage constraints, consider reducing this value
	    temporarily. If running queries that exceed 15 minutes on shard sec-
	    ondaries, consider increasing this value.

	    This parameter is available both at runtime and at startup:

		   * To set the parameter at runtime, use the setParameter  com-
		     mand

		   * To  set the parameter at startup, use the setParameter set-
		     ting

	    The following sets the orphanCleanupDelaySecs to 20 minutes:

	      mongod --setParameter orphanCleanupDelaySecs=1200

	    This may also be set using the setParameter command:

	      db.adminCommand( { setParameter: 1, orphanCleanupDelaySecs: 1200 } )

	    In all versions, the new value of orphanCleanupDelaySecs is only ap-
	    plied to range deletions created after the value is changed. To  ap-
	    ply the new value to existing range deletions, force a step down.

     persistedChunkCacheUpdateMaxBatchSize

	    Available for mongod only.

	    Type: Integer

	    Default: 1000

	    To route and serve operations, shards must know the routing and own-
	    ership  information associated with their collections. This informa-
	    tion propogates from a shard's primary node to its	secondary  nodes
	    through  the  replication  of  the	internal  cache collections con-
	    fig.cache.collections and config.cache.chunks.<collectionName>.

	    In previous versions, updates on the  chunk  cache	collection  were
	    performed  individually (meaning that an entry was deleted and a new
	    entry was inserted). Starting in MongoDB 7.2, these updates are per-
	    formed as a batch of deletions followed by a  batch  of  insertions.
	    The  updated logic improves performance for collections that contain
	    a large number of chunks.

	    The persistedChunkCacheUpdateMaxBatchSize  parameter  specifies  the
	    maximum batch size used for updating the persisted chunk cache.

	    This parameter is available both at runtime and at startup:

		   * To  set the parameter at runtime, use the setParameter com-
		     mand

		   * To set the parameter at startup, use the setParameter  set-
		     ting

	    The  following example sets persistedChunkCacheUpdateMaxBatchSize to
	    700 at startup:

	      mongod --setParameter persistedChunkCacheUpdateMaxBatchSize=700

	    You can also set persistedChunkCacheUpdateMaxBatchSize  during  run-
	    time:

	      db.adminCommand( { setParameter: 1, persistedChunkCacheUpdateMaxBatchSize: 700 } )

     rangeDeleterBatchDelayMS

	    Available for mongod only.

	    Type: Non-negative integer

	    Default: 20

	    The  amount of time in milliseconds to wait before the next batch of
	    deletion during the cleanup stage of range migration (or the cleanu-
	    pOrphaned command).

	    The _secondaryThrottle replication delay  occurs  after  each  batch
	    deletion.

	    This parameter is available both at runtime and at startup:

		   * To  set the parameter at runtime, use the setParameter com-
		     mand

		   * To set the parameter at startup, use the setParameter  set-
		     ting

	    The following sets the rangeDeleterBatchDelayMS to 200 milliseconds:

	      mongod --setParameter rangeDeleterBatchDelayMS=200

	    The parameter may also be set using the setParameter command:

	      db.adminCommand( { setParameter: 1, rangeDeleterBatchDelayMS: 200 } )

	    In	versions  prior  to 6.0.3, the new value of rangeDeleterBatchDe-
	    layMS is only applied to range deletions created after the value  is
	    changed. To apply the new value to existing range deletions, force a
	    step down.

	    From  6.0.3 on, the new value of the parameter is applied to all the
	    range deletions processed after the update, regardless of  when  the
	    range deletion was created.

     rangeDeleterBatchSize

	    Available for mongod only.

	    Type: Non-negative integer

	    Default: 2147483647 starting in MongoDB 5.1.2 and 5.0.6

	    The  maximum  number of documents in each batch to delete during the
	    cleanup stage of range migration (or the cleanupOrphaned command).

	    A value of 0 indicates that the system chooses the default value.

	    This parameter is available both at runtime and at startup:

		   * To set the parameter at runtime, use the setParameter  com-
		     mand

		   * To  set the parameter at startup, use the setParameter set-
		     ting

	    The following example sets rangeDeleterBatchSize to 32 documents:

	      mongod --setParameter rangeDeleterBatchSize=32

	    The parameter may also be set using the setParameter command:

	      db.adminCommand( { setParameter: 1, rangeDeleterBatchSize: 32 } )

	    In versions prior to 6.0.3, the new value  of  rangeDeleterBatchSize
	    is	only  applied  to  range  deletions  created  after the value is
	    changed. To apply the new value to existing range deletions, force a
	    step down.

	    From 6.0.3 on, the new value of the parameter is applied to all  the
	    range  deletions  processed after the update, regardless of when the
	    range deletion was created.

     rangeDeleterHighPriority

	    Available for mongod only.

	    Type: boolean

	    Default: false

	    When true, prioritizes cleanup of orphaned documents over user oper-
	    ations. By default, this is set to false to prioritize  user  opera-
	    tions over cleanup of orphaned documents.

	    This parameter is available both at runtime and at startup:

		   * To  set the parameter at runtime, use the setParameter com-
		     mand

		   * To set the parameter at startup, use the setParameter  set-
		     ting

	    The following example sets rangeDeleterHighPriority to true:

	      mongod --setParameter rangeDeleterHighPriority=true

	    The parameter may also be set using the setParameter command:

	      db.adminCommand( { setParameter: 1, rangeDeleterBatchSize: true } )

     skipShardingConfigurationChecks

	    Available for mongod only.

	    Type: boolean

	    Default: false

	    When  true, allows for starting a shard member or config server mem-
	    ber as a standalone for maintenance operations.  This  parameter  is
	    mutually exclusive with the --configsvr or --shardsvr options.

	    This  parameter  is only available at startup. To set the parameter,
	    use the setParameter setting.

	      mongod --setParameter skipShardingConfigurationChecks=true

	    Once maintenance has completed,  remove  the  skipShardingConfigura-
	    tionChecks parameter when restarting the mongod.

     findChunksOnConfigTimeoutMS

	    Available for both mongod and mongos.

	    Type: Non-negative integer

	    Default: 900000

	    The timeout in milliseconds for find operations on chunks.

	    If	there is a large number of chunks in the cluster and chunk load-
	    ing fails with the error ExceededTimeLimit, increase  the  parameter
	    value:

	      mongod --setParameter findChunksOnConfigTimeoutMS=1000000

	    This parameter is available both at runtime and at startup:

		   * To  set the parameter at runtime, use the setParameter com-
		     mand

		   * To set the parameter at startup, use the setParameter  set-
		     ting

   HEALTH MANAGER PARAMETERS
     activeFaultDurationSecs

	    Available for mongos only.

	    Type: Document

	    The  amount  of time to wait from a Health Managers Overview failure
	    until the mongos is removed from the cluster, in seconds.

	    When a failure is detected and a Health  Manager  is  configured  as
	    critical,  the server waits for the specified interval before remov-
	    ing the mongos from the cluster.

	    This parameter is available both at runtime and at startup:

		   * To set the parameter at runtime, use the setParameter  com-
		     mand

		   * To  set the parameter at startup, use the setParameter set-
		     ting

	    For example, to set the duration from failure to crash to five  min-
	    utes, issue the following at startup:

	      mongos --setParameter activeFaultDurationSecs=300

	    Or	if  using  the setParameter command in a mongosh session that is
	    connected to a running mongos:

	      db.adminCommand(
		{
		    setParameter: 1,
		    activeFaultDurationSecs: 300
		}
	      )

	    Parameters set with setParameter do not persist across restarts. See
	    the setParameter page for details.

	    To make this setting persistent, set activeFaultDurationSecs in your
	    mongos config file using the setParameter option as in the following
	    example:

	      setParameter:
		 activeFaultDurationSecs: 300

     healthMonitoringIntensities

	    Available for mongos only.

	    Type: Array of documents

	    Use this parameter to set intensity levels for Health Managers.

	    This parameter is available both at runtime and at startup:

		   * To set the parameter at runtime, use the setParameter  com-
		     mand

		   * To  set the parameter at startup, use the setParameter set-
		     ting

	    healthMonitoringIntensities accepts an array of  documents,  values.
	    Each document in values takes two fields:

		   * type, the Health Manager facet

		   * intensity, the intensity level

   HEALTH MANAGERS
	    *

	      *   Facet

	      *   What the Health Observer Checks

	    *

	      *   configServer

	      *   Cluster  health  issues  related to connectivity to the config
		  server.

	    *

	      *   dns

	      *   Cluster health issues related to DNS	availability  and  func-
		  tionality.

	    *

	      *   ldap

	      *   Cluster  health  issues related to LDAP availability and func-
		  tionality.

   INTENSITY LEVELS
	    *

	      *   Intensity Level

	      *   Description

	    *

	      *   critical

	      *   The Health Manager on this facet is enabled and has the  abil-
		  ity  to move the failing mongos out of the cluster if an error
		  occurs. The Health Manager waits the amount of time  specified
		  by activeFaultDurationSecs before stopping and moving the mon-
		  gos out of the cluster automatically.

	    *

	      *   non-critical

	      *   The  Health  Manager on this facet is enabled and logs errors,
		  but the mongos remains in the cluster if  errors  are  encoun-
		  tered.

	    *

	      *   off

	      *   The  Health Manager on this facet is disabled. The mongos does
		  not perform any health checks on this facet. This is	the  de-
		  fault intensity level.

     For  example, to set the dns Health Manager facet to the critical intensity
     level, issue the following at startup:

       mongos --setParameter 'healthMonitoringIntensities={ values:[ { type:"dns", intensity: "critical"} ] }'

     Or if using the setParameter command in a mongosh session that is connected
     to a running mongos:

       db.adminCommand(
	 {
	     setParameter: 1,
	     healthMonitoringIntensities: { values: [ { type: "dns", intensity: "critical" } ] } } )
	 }
       )

     Parameters set with setParameter do not persist across  restarts.	See  the
     setParameter page for details.

     To  make  this  setting persistent, set healthMonitoringIntensities in your
     mongos config file using the setParameter option as in the following  exam-
     ple:

       setParameter:
	  healthMonitoringIntensities: "{ values:[ { type:

     healthMonitoringIntervals

	    Available for mongos only.

	    Type: Array of documents

	    How often this Health Manager will run, in milliseconds.

	    This parameter is available both at runtime and at startup:

		   * To  set the parameter at runtime, use the setParameter com-
		     mand

		   * To set the parameter at startup, use the setParameter  set-
		     ting

	    healthMonitoringIntervals  accepts	an  array  of documents, values.
	    Each document in values takes two fields:

		   * type, the Health Manager facet

		   * interval, the time interval it runs at, in milliseconds

   HEALTH MANAGERS
	    *

	      *   Facet

	      *   What the Health Observer Checks

	    *

	      *   configServer

	      *   Cluster health issues related to connectivity  to  the  config
		  server.

	    *

	      *   dns

	      *   Cluster  health  issues  related to DNS availability and func-
		  tionality.

	    *

	      *   ldap

	      *   Cluster health issues related to LDAP availability  and  func-
		  tionality.

     For  example, to set the ldap Health Manager facet to the run health checks
     every 30 seconds, issue the following at startup:

       mongos --setParameter 'healthMonitoringIntervals={ values:[ { type:"ldap", interval: "30000"} ] }'

     Or if using the setParameter command in a mongosh session that is connected
     to a running mongos:

       db.adminCommand(
	 {
	     setParameter: 1,
	     healthMonitoringIntervals: { values: [ { type: "ldap", interval: "30000" } ] } } )
	 }
       )

     Parameters set with setParameter do not persist across  restarts.	See  the
     setParameter page for details.

     To make this setting persistent, set healthMonitoringIntervals in your mon-
     gos config file using the setParameter option as in the following example:

       setParameter:
	  healthMonitoringIntervals: "{ values: [{type:

     progressMonitor

	    Available for mongos only.

	    Type: Document

	    Progress  Monitor runs tests to ensure that Health Manager checks do
	    not become stuck or unresponsive. Progress Monitor runs these  tests
	    in	intervals  specified  by  interval. If a health check begins but
	    does not complete within the timeout  given  by  deadline,	Progress
	    Monitor stops the mongos and removes it from the cluster.

	    This parameter is available both at runtime and at startup:

		   * To  set the parameter at runtime, use the setParameter com-
		     mand

		   * To set the parameter at startup, use the setParameter  set-
		     ting

   PROGRESSMONITOR FIELDS
	    *

	      *   Field

	      *   Description

	      *   Units

	    *

	      *   interval

	      *   How often to ensure Health Managers are not stuck or unrespon-
		  sive.

	      *   Milliseconds

	    *

	      *   deadline

	      *   Timeout  before  automatically  failing the mongos if a Health
		  Manager check is not making progress.

	      *   Seconds

     To set the interval to 1000 milliseconds and the deadline to  300	seconds,
     issue the following at startup:

       mongos --setParameter 'progressMonitor={"interval": 1000, "deadline": 300}'

     Or if using the setParameter command in a mongosh session that is connected
     to a running mongos:

       db.adminCommand(
	 {
	     setParameter: 1,
	     progressMonitor: { interval: 1000, deadline: 300 } )
	 }
       )

     Parameters  set  with  setParameter do not persist across restarts. See the
     setParameter page for details.

     To make this setting persistent, set progressMonitor in your mongos  config
     file using the setParameter option as in the following example:

       setParameter:
	  progressMonitor: "{ interval: 1000, deadline: 300 }"

   STORAGE PARAMETERS
     honorSystemUmask

	    Available for mongod only.

	    Default: false

	    If	honorSystemUmask  is  set  to true, new files created by MongoDB
	    have permissions in accordance with the user's umask  settings.  You
	    cannot set processUmask if honorSystemUmask is set to true.

	    If	honorSystemUmask  is  set to false, new files created by MongoDB
	    have permissions set to 600, which gives read and write  permissions
	    only  to the owner. New directories have permissions set to 700. You
	    can use processUmask to override the default permissions for  groups
	    and other users on all new files created by MongoDB.

	    This  parameter  is only available at startup. To set the parameter,
	    use the setParameter setting.

	      mongod --setParameter honorSystemUmask=true

	    honorSystemUmask is not available on Windows systems.

     journalCommitInterval

	    Available for mongod only.

	    Specify an integer between 1 and 500 signifying the number	of  mil-
	    liseconds (ms) between journal commits.

	    This parameter is available both at runtime and at startup:

		   * To  set the parameter at runtime, use the setParameter com-
		     mand

		   * To set the parameter at startup, use the setParameter  set-
		     ting

	    Consider  the following example which sets the journalCommitInterval
	    to 200 ms:

	      db.adminCommand( { setParameter: 1, journalCommitInterval: 200 } )

	    storage.journal.commitIntervalMs

     minSnapshotHistoryWindowInSeconds

	    Available for mongod only.

	    Default: 300

	    The minimum time window in seconds	for  which  the  storage  engine
	    keeps  the	snapshot  history.  If you query data using read concern
	    "snapshot" and specify an atClusterTime value older than the  speci-
	    fied  minSnapshotHistoryWindowInSeconds,  mongod returns a Snapshot-
	    TooOld error.

	    This parameter is available both at runtime and at startup:

		   * To set the parameter at runtime, use the setParameter  com-
		     mand

		   * To  set the parameter at startup, use the setParameter set-
		     ting

	    Specify an integer greater than or equal to (>=) 0.

	    Consider the following example which sets the minSnapshotHistoryWin-
	    dowInSeconds to 600 seconds:

	      db.adminCommand( { setParameter: 1, minSnapshotHistoryWindowInSeconds: 600 } )

	    Increasing the value of minSnapshotHistoryWindowInSeconds  increases
	    disk usage. For more information, see Snapshot History Retention.

	    To	 modify   this	value  for  a  MongoDB	Atlas  (https://www.mon-
	    godb.com/docs/atlas/)  cluster,  you  must	contact  Atlas	 Support
	    (https://www.mongodb.com/docs/atlas/support/).

     processUmask

	    Available for mongod only.

	    Overrides  the  default  permissions used for groups and other users
	    when honorSystemUmask is set to false. By default, when  honorSyste-
	    mUmask  is	set  to false, new files created by MongoDB have permis-
	    sions set to 600. Use the processUmask parameter  to  override  this
	    default  with  a custom umask value. The file owner inherits permis-
	    sions from the system umask.

	    This parameter is only available at startup. To set  the  parameter,
	    use the setParameter setting.

	    You cannot set this parameter if honorSystemUmask is set to true.

	    Consider  the  following  example,	which  sets  the permissions for
	    groups and other users to read/write only  and  retains  the  system
	    umask settings for the owner:

	      mongod --setParameter processUmask=011

	    processUmask is not available on Windows systems.

     storageEngineConcurrentReadTransactions

	    Available for mongod only.

	    Type: integer

	    Default: 128

	    Starting in MongoDB 7.0, this parameter is available for all storage
	    engines.  In  earlier  versions, this parameter is available for the
	    WiredTiger storage engine only.

	    Specify the maximum number of  concurrent  read  transactions  (read
	    tickets) allowed into the storage engine.

	    If you use the default value, MongoDB dynamically adjusts the number
	    of tickets to optimize performance, with a highest possible value of
	    128.

	    Starting  in  MongoDB  7.0,  if you set storageEngineConcurrentRead-
	    Transactions to a non-default value, it disables an  algorithm  that
	    dynamically adjusts the number of concurrent storage engine transac-
	    tions.

	    This parameter is available both at runtime and at startup:

		   * To  set the parameter at runtime, use the setParameter com-
		     mand

		   * To set the parameter at startup, use the setParameter  set-
		     ting

	      db.adminCommand( { setParameter: 1, storageEngineConcurrentReadTransactions: <int> } )

	    The  wiredTigerConcurrentReadTransactions  parameter  was renamed to
	    storageEngineConcurrentReadTransactions.

	    wiredTiger.concurrentTransactions

     storageEngineConcurrentWriteTransactions

	    Available for mongod only.

	    Type: integer

	    Starting in MongoDB 7.0, this parameter is available for all storage
	    engines. In earlier versions, this parameter is  available	for  the
	    WiredTiger storage engine only.

	    Specify  the maximum number of concurrent write transactions allowed
	    into the WiredTiger storage engine.

	    By default, MongoDB sets storageEngineConcurrentWriteTransactions to
	    whichever value is higher:

		   * Number of cores on the machine running MongoDB

		   * 4

	    If you use the default value, MongoDB dynamically adjusts the number
	    of tickets to optimize performance, with a highest possible value of
	    128.

	    Starting in MongoDB 7.0, if  you  set  storageEngineConcurrentWrite-
	    Transactions  to  a non-default value, it disables an algorithm that
	    dynamically adjusts the number of concurrent storage engine transac-
	    tions.

	    This parameter is available both at runtime and at startup:

		   * To set the parameter at runtime, use the setParameter  com-
		     mand

		   * To  set the parameter at startup, use the setParameter set-
		     ting

	      db.adminCommand( { setParameter: 1, storageEngineConcurrentWriteTransactions: <int> } )

	    The wiredTigerConcurrentWriteTransactions parameter was  renamed  to
	    storageEngineConcurrentWriteTransactions.

	    wiredTiger.concurrentTransactions

     syncdelay

	    Available for mongod only.

	    Specify the interval in seconds when mongod flushes its working mem-
	    ory to disk. By default, mongod flushes memory to disk every 60 sec-
	    onds.  In  almost  every situation you should not set this value and
	    use the default setting.

	    This parameter is available both at runtime and at startup:

		   * To set the parameter at runtime, use the setParameter  com-
		     mand

		   * To  set the parameter at startup, use the setParameter set-
		     ting

	    Consider the following example which sets the syncdelay to	60  sec-
	    onds:

	      db.adminCommand( { setParameter: 1, syncdelay: 60 } )

	    To	provide  durable data, WiredTiger uses checkpoints. For more de-
	    tails, see Journaling and the WiredTiger Storage Engine.

		   * journalCommitInterval

		   * storage.syncPeriodSecs

     temporarilyUnavailableBackoffBaseMs

	    Available for mongod only.

	    Specifies the initial delay before retying a  write  operation  that
	    was rolled back due to cache pressure.

	    In	rare circumstances, a write can fail due to cache pressure. When
	    this happens MongoDB issues a TemporarilyUnavailable error	and  in-
	    crements the temporarilyUnavailableErrors counter in two places: the
	    slow query log and the Full Time Diagnostic Data Capture (FTDC).

	    Individual	operations  within multi-document transactions never re-
	    turn TemporarilyUnavailable errors.

	    Adjust the write retry properties  by  modifying  the  temporarilyU-
	    navailableBackoffBaseMs and temporarilyUnavailableMaxRetries parame-
	    ters.

	    The parameter accepts:

		   *

		     *	 Value

		     *	 Description

		   *

		     *	 integer >= 0

		     *	 Defaults  to  1  second.  The initial delay between re-
			 tries. The value increases with each retry to a maximum
			 of 55 seconds. A larger value increases the chance that
			 the cache pressure will  be  reduced  before  the  next
			 retry.

			 To configure number of retries, use temporarilyUnavail-
			 ableMaxRetries.

	    This parameter is available both at runtime and at startup:

		   * To  set the parameter at runtime, use the setParameter com-
		     mand

		   * To set the parameter at startup, use the setParameter  set-
		     ting

	    To set a new value, use db.adminCommand():

	      db.adminCommand( { setParameter: 1, temporarilyUnavailableBackoffBaseMs: 3 } )

     temporarilyUnavailableMaxRetries

	    Available for mongod only.

	    Specifies  the  maximum  number of retries when a write operation is
	    rolled back due to cache pressure.

	    In rare circumstances, a write can fail due to cache pressure.  When
	    this  happens  MongoDB issues a TemporarilyUnavailable error and in-
	    crements the temporarilyUnavailableErrors counter in two places: the
	    slow query log and the Full Time Diagnostic Data Capture (FTDC).

	    Individual operations within multi-document transactions  never  re-
	    turn TemporarilyUnavailable errors.

	    Adjust  the  write	retry  properties by modifying the temporarilyU-
	    navailableBackoffBaseMs and temporarilyUnavailableMaxRetries parame-
	    ters.

	    The parameter accepts:

		   *

		     *	 Value

		     *	 Description

		   *

		     *	 integer >= 0

		     *	 Defaults to 10. The maximum number of retries.

			 There is an increasing delay between retries.	To  con-
			 figure  the  backoff  time, use temporarilyUnavailable-
			 BackoffBaseMs.

	    This parameter is available both at runtime and at startup:

		   * To set the parameter at runtime, use the setParameter  com-
		     mand

		   * To  set the parameter at startup, use the setParameter set-
		     ting

	    To set a new value, use db.adminCommand():

	      db.adminCommand( { setParameter: 1, temporarilyUnavailableMaxRetries: 5 } )

   WIREDTIGER PARAMETERS
     wiredTigerConcurrentReadTransactions

	    Available for mongod only.

	    Type: integer

	    Default: 128

	    Starting in MongoDB 7.0, this parameter is available for all storage
	    engines. In earlier versions, this parameter is  available	for  the
	    WiredTiger storage engine only.

	    Specify  the  maximum  number  of concurrent read transactions (read
	    tickets) allowed into the storage engine.

	    If you use the default value, MongoDB dynamically adjusts the number
	    of tickets to optimize performance, with a highest possible value of
	    128.

	    Starting in MongoDB 7.0, if you set wiredTigerConcurrentReadTransac-
	    tions to a non-default value, it disables an algorithm that  dynami-
	    cally adjusts the number of concurrent storage engine transactions.

	    This parameter is available both at runtime and at startup:

		   * To  set the parameter at runtime, use the setParameter com-
		     mand

		   * To set the parameter at startup, use the setParameter  set-
		     ting

	      db.adminCommand( { setParameter: 1, wiredTigerConcurrentReadTransactions: <int> } )

	    wiredTiger.concurrentTransactions

     wiredTigerConcurrentWriteTransactions

	    Available for mongod only.

	    Type: integer

	    Starting in MongoDB 7.0, this parameter is available for all storage
	    engines.  In  earlier  versions, this parameter is available for the
	    WiredTiger storage engine only.

	    Specify the maximum number of concurrent write transactions  allowed
	    into the WiredTiger storage engine.

	    By	default,  MongoDB  sets wiredTigerConcurrentWriteTransactions to
	    whichever value is higher:

		   * Number of cores on the machine running MongoDB

		   * 4

	    If you use the default value, MongoDB dynamically adjusts the number
	    of tickets to optimize performance, with a highest possible value of
	    128.

	    Starting in MongoDB 7.0, if you set  wiredTigerConcurrentWriteTrans-
	    actions to a non-default value, it disables an algorithm that dynam-
	    ically adjusts the number of concurrent storage engine transactions.

	    This parameter is available both at runtime and at startup:

		   * To  set the parameter at runtime, use the setParameter com-
		     mand

		   * To set the parameter at startup, use the setParameter  set-
		     ting

	      db.adminCommand( { setParameter: 1, wiredTigerConcurrentWriteTransactions: <int> } )

	    wiredTiger.concurrentTransactions

     wiredTigerEngineRuntimeConfig

	    Available for mongod only.

	    Specify  wiredTiger  storage engine configuration options for a run-
	    ning mongod instance.

	    This parameter is only available at runtime. To set  the  parameter,
	    use the setParameter command.

	    Avoid  modifying  the wiredTigerEngineRuntimeConfig unless under the
	    direction from MongoDB engineers as this setting has major	implica-
	    tion across both WiredTiger and MongoDB.

	    Consider the following operation prototype:

	      db.adminCommand({
		 "setParameter": 1,
		 "wiredTigerEngineRuntimeConfig": "<option>=<setting>,<option>=<setting>"
	      })

     wiredTigerFileHandleCloseIdleTime

	    Available for mongod only.

	    Type: integer

	    Default: 600

	    Specifies  the  amount  of	time  in  seconds  that a file handle in
	    wiredTiger can remain idle before being closed.

	    If you set wiredTigerFileHandleCloseIdleTime to 0, idle handles  are
	    not closed.

	    This  parameter  is only available at startup. To set the parameter,
	    use the setParameter setting.

	    For example:

	      mongod --setParameter wiredTigerFileHandleCloseIdleTime=100000

     See the WiredTiger documentation for all available WiredTiger configuration
     options				      (http://source.wiredtiger.com/mon-
     godb-5.0/struct_w_t___c_o_n_n_e_c_t_i_o_n.html#).

   AUDITING PARAMETERS
     auditAuthorizationSuccess

	    Available for both mongod and mongos.

	    Type: boolean

	    Default: false

	    Available  only  in MongoDB Enterprise (http://www.mongodb.com/prod-
	    ucts/mongodb-enterprise-advanced?tck=docs_server) and MongoDB  Atlas
	    (https://cloud.mongodb.com/user#/atlas/login).

	    Enables  the  auditing  of authorization successes for the authCheck
	    action.

	    When auditAuthorizationSuccess is false, the audit system only  logs
	    the authorization failures for authCheck.

	    This parameter is available both at runtime and at startup:

		   * To  set the parameter at runtime, use the setParameter com-
		     mand

		   * To set the parameter at startup, use the setParameter  set-
		     ting

	    To	enable the audit of authorization successes, issue the following
	    command:

	      db.adminCommand( { setParameter: 1, auditAuthorizationSuccess: true } )

	    Enabling auditAuthorizationSuccess degrades  performance  more  than
	    logging only the authorization failures.

	    If	runtime  audit configuration is enabled, the auditAuthorization-
	    Success parameter should not appear in the mongod or mongos configu-
	    ration file. The server will fail  to  start  if  the  parameter  is
	    present.

	    getParameter

     auditConfigPollingFrequencySecs

	    Type: integer

	    Default: 300

	    A  sharded	cluster may have servers which maintain audit configura-
	    tion settings for the cluster. Set the  interval,  in  seconds,  for
	    non-configured servers to poll a config server for the current audit
	    generation. If this value returned differs from the previously known
	    value,  the  initiating  node will request the current configuration
	    and update its internal state.

	    Using the default value of 300 seconds, non-config nodes may lag  up
	    to 5 minutes after you set the auditConfig cluster parameter.

	    This  parameter  is only available at startup. To set the parameter,
	    use the setParameter setting.

     auditEncryptionHeaderMetadataFile

	    Available for both mongod and mongos.

	    Type: string

	    Available only in MongoDB  Enterprise  (http://www.mongodb.com/prod-
	    ucts/mongodb-enterprise-advanced?tck=docs_server).	 MongoDB  Enter-
	    prise and Atlas have different configuration requirements.

	    Path and file name for logging metadata audit headers for audit  log
	    encryption. A header is placed at the top of each audit log file and
	    contains metadata for decrypting the audit log. The headers are also
	    stored in the audit log.

	    This  parameter  is only available at startup. To set the parameter,
	    use the setParameter setting.

	    For example, the following sets the path and file  for  auditEncryp-
	    tionHeaderMetadataFile:

	      mongod --setParameter auditEncryptionHeaderMetadataFile=/auditFiles/auditHeadersMetadataFile.log

     auditEncryptKeyWithKMIPGet

	    Available for both mongod and mongos.

	    Type: boolean

	    Default: false

	    Available  only  in MongoDB Enterprise (http://www.mongodb.com/prod-
	    ucts/mongodb-enterprise-advanced?tck=docs_server).	 MongoDB  Enter-
	    prise and Atlas have different configuration requirements.

	    Enables  audit  log  encryption  for Key Management Interoperability
	    Protocol (KMIP) servers that only support KMIP protocol version  1.0
	    or 1.1.

	    This  parameter  is only available at startup. To set the parameter,
	    use the setParameter setting.

	    The following example sets auditEncryptKeyWithKMIPGet to true:

	      mongod --setParameter auditEncryptKeyWithKMIPGet=true

   TRANSACTION PARAMETERS
     coordinateCommitReturnImmediatelyAfterPersistingDecision

	    Updated in version 6.1

	    Available for mongod only.

	    Type: boolean

	    Default: false

		   * When set to false, the shard transaction coordinator  waits
		     for all participating shards to acknowledge the decision to
		     either commit or cancel a multi-document transaction before
		     returning the result to the client.

		   * When set to true, the shard transaction coordinator returns
		     a	multi-document transaction commit decision to the client
		     as soon as the decision is made durable with the  requested
		     transaction write concern.

		     If  the  client requested a write concern that is less than
		     "majority", the commit may roll back after the decision  is
		     returned to the client.

		     Transactions  may	not have "read your writes" consistency.
		     That is, a read operation may not show the results of write
		     operations that preceded it. This can happen if:

		     *	 A transaction has to write to multiple shards.

		     *	 The read and the earlier write take place in  different
			 sessions.

		     Causal  consistency only guarantees the causal relationship
		     of reads and writes that occur within the same session.

	    This parameter is available both at runtime and at startup:

		   * To set the parameter at runtime, use the setParameter  com-
		     mand

		   * To  set the parameter at startup, use the setParameter set-
		     ting

	    The following example  sets  coordinateCommitReturnImmediatelyAfter-
	    PersistingDecision to true:

	      mongod --setParameter coordinateCommitReturnImmediatelyAfterPersistingDecision=true

	    During  run time, you can also set the parameter with the setParame-
	    ter command:

	      db.adminCommand( { setParameter: 1, coordinateCommitReturnImmediatelyAfterPersistingDecision: true } )

     internalSessionsReapThreshold

	    Available for both mongod and mongos.

	    Default: 1000

	    Session limit for internal session metadata deletion. The metadata:

		   * Contains session transaction information  for  user  opera-
		     tions.

		   * Is stored in the config.transactions collection.

	    When  the  number  of internal sessions is greater than internalSes-
	    sionsReapThreshold, the metadata is deleted.

	    If you set internalSessionsReapThreshold to 0, the internal  session
	    metadata is only deleted when the user session ends.

	    This parameter is available both at runtime and at startup:

		   * To  set the parameter at runtime, use the setParameter com-
		     mand

		   * To set the parameter at startup, use the setParameter  set-
		     ting

	    The following example sets internalSessionsReapThreshold to 500 ses-
	    sions:

	      db.adminCommand( { setParameter: 1, internalSessionsReapThreshold: 500 } )

	    You can also set internalSessionsReapThreshold at startup. For exam-
	    ple:

	      mongod --setParameter internalSessionsReapThreshold=500

     transactionLifetimeLimitSeconds

	    Available for mongod only.

	    Default: 60

	    Specifies  the lifetime of multi-document transactions. Transactions
	    that exceed this limit are considered expired and will be aborted by
	    a periodic cleanup process. The cleanup process runs every	transac-
	    tionLifetimeLimitSeconds/2	seconds  or  at least once every 60 sec-
	    onds.

	    The cleanup process helps relieve storage cache pressure.

	    The minimum value for transactionLifetimeLimitSeconds is 1 second.

	    This parameter is available both at runtime and at startup:

		   * To set the parameter at runtime, use the setParameter  com-
		     mand

		   * To  set the parameter at startup, use the setParameter set-
		     ting

	    The following sets the transactionLifetimeLimitSeconds  to	30  sec-
	    onds:

	      db.adminCommand( { setParameter: 1, transactionLifetimeLimitSeconds: 30 } )

	    You   can  also  set  parameter  transactionLifetimeLimitSeconds  at
	    startup time.

	      mongod --setParameter "transactionLifetimeLimitSeconds=30"

	    To set the parameter for a sharded cluster, the  parameter	must  be
	    modified for all shard replica set members.

	    Starting in MongoDB 5.0, if you change the transactionLifetimeLimit-
	    Seconds parameter, you must also change transactionLifetimeLimitSec-
	    onds  to  the  same  value on all config server replica set members.
	    Keeping this value consistent:

		   * Ensures the routing table history is retained for at  least
		     as  long  as  the	transaction  lifetime limit on the shard
		     replica set members.

		   * Reduces the transaction retry frequency and  therefore  im-
		     proves performance.

     transactionTooLargeForCacheThreshold

	    Available for mongod only.

	    Type: decimal

	    Default: 0.75

	    The threshold value for retrying transactions that fail due to cache
	    pressure. The value is a percentage of the dirty cache size. The de-
	    fault value, 0.75, means 75% of the dirty cache.

	    The  dirty	cache  is  limited  to 20% of the total cache size. When
	    transactionTooLargeForCacheThreshold is set to 0.75, the server only
	    retries transactions that use less than 15% (0.75 * 20%) of the  to-
	    tal storage engine cache.

	    The  limit	only applies to retries. Large transactions can use more
	    than  transactionTooLargeForCacheThreshold	percent  of  the   dirty
	    cache.  However,  if a large transaction is rolled back due to cache
	    pressure, the server issues a TransactionTooLargeForCache error  and
	    does not retry the transaction.

	    To	disable  this behavior, set transactionTooLargeForCacheThreshold
	    to 1.0.

	    This parameter is available both at runtime and at startup:

		   * To set the parameter at runtime, use the setParameter  com-
		     mand

		   * To  set the parameter at startup, use the setParameter set-
		     ting

	    For more information on WiredTiger storage, see:  storage.wiredTiger
	    Options.

     maxTransactionLockRequestTimeoutMillis

	    Available for mongod only.

	    Type: integer

	    Default: 5

	    The  maximum  amount  of  time  in	milliseconds that multi-document
	    transactions should wait to acquire locks required by the operations
	    in the transaction.

	    If the transaction cannot acquire the locks after waiting  maxTrans-
	    actionLockRequestTimeoutMillis, the transaction aborts.

	    By	default,  multi-document  transactions wait 5 milliseconds. That
	    is, if the transaction cannot acquire the locks within  5  millisec-
	    onds,  the	transaction  aborts.  If an operation provides a greater
	    timeout in a  lock	request,  maxTransactionLockRequestTimeoutMillis
	    overrides the operation-specific timeout.

	    You can set maxTransactionLockRequestTimeoutMillis to:

		   * 0	such that if the transaction cannot acquire the required
		     locks immediately, the transaction aborts.

		   * A number greater than 0 to wait the specified time  to  ac-
		     quire the required locks. This can help obviate transaction
		     aborts  on  momentary  concurrent	lock  acquisitions, like
		     fast-running metadata operations. However, this could  pos-
		     sibly delay the abort of deadlocked transaction operations.

		   * -1 to use the operation specific timeout.

	    This parameter is available both at runtime and at startup:

		   * To  set the parameter at runtime, use the setParameter com-
		     mand

		   * To set the parameter at startup, use the setParameter  set-
		     ting

	    The  following sets the maxTransactionLockRequestTimeoutMillis to 20
	    milliseconds:

	      db.adminCommand( { setParameter: 1, maxTransactionLockRequestTimeoutMillis: 20 } )

	    You can also set this parameter during start-up:

	      mongod --setParameter maxTransactionLockRequestTimeoutMillis=20

   SLOT-BASED EXECUTION PARAMETERS
     planCacheSize

	    Available for mongod only.

	    Type: string

	    Default: 5%

	    Although the planCacheSize parameter existed in  prior  versions  of
	    MongoDB, it had no effect on the plan cache until version 6.3.

	    Sets the size of the plan cache only for the slot-based query execu-
	    tion engine.

	    You can set the planCacheSize value to either:

		   * A percentage of the system's total physical memory to allo-
		     cate for the plan cache. For example, "8.5%".

		   * The  exact amount of data to allocate for the plan cache in
		     either MB or GB. For example, "100MB" or "1GB".

	    Increasing the plan cache size adds more cached query shapes for the
	    query planner. This can improve  query  performance,  but  increases
	    memory usage.

	    This parameter is available both at runtime and at startup:

		   * To  set the parameter at runtime, use the setParameter com-
		     mand

		   * To set the parameter at startup, use the setParameter  set-
		     ting

	    The following startup command sets planCacheSize to 80 megabytes:

	      mongod --setParameter planCacheSize="80MB"

	    You  can  also use the setParameter command within the MongoDB Shell
	    (https://www.mongodb.com/docs/mongodb-shell/):

	      db.adminCommand( { setParameter: 1, planCacheSize: "80MB" } )

							   mongodb-parameters(5)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=mongodb-parameters&sektion=5&manpath=FreeBSD+Ports+15.1.quarterly>

home | help