Navigation

replSetGetConfig

Definition

replSetGetConfig

Returns a document that describes the current configuration of the replica set.

Syntax

To run, replSetGetConfig must be issued against the admin database and has the following syntax:

db.adminCommand( {
   replSetGetConfig: 1,
   commitmentStatus: <boolean>,
   comment: <any>
} );
Field Type Description
replSetGetConfig any Any value
commitmentStatus boolean

Optional. Specify true to include a commitmentStatus field in the output. The commitmentStatus output field indicates whether the replica set’s previous reconfig has been committed, so that the replica set is ready to be reconfigured again. For details, see commitmentStatus Output Field.

You can only specify commitmentStatus: true option when running the command on the primary. The command errors if run with commitmentStatus: true on a secondary.

New in version 4.4.

comment any

Optional. A user-provided comment to attach to this command. Once set, this comment appears alongside records of this command in the following locations:

A comment can be any valid BSON type (string, integer, object, array, etc).

New in version 4.4.

The mongo shell provides the rs.conf() method that wraps the replSetGetConfig command:

rs.conf();

Output Example

The following is an example output of the replSetGetConfig command run with commitmentStatus: true on the primary:

{
   "config" : {
      "_id" : "myRepl",
      "version" : 180294,
      "term" : 1,
      "protocolVersion" : NumberLong(1),
      "writeConcernMajorityJournalDefault" : true,
      "members" : [
         {
            "_id" : 0,
            "host" : "m1.example.net:27017",
            "arbiterOnly" : false,
            "buildIndexes" : true,
            "hidden" : false,
            "priority" : 1,
            "tags" : {

            },
            "slaveDelay" : NumberLong(0),
            "votes" : 1
         },
         {
            "_id" : 1,
            "host" : "m2.example.net:27017",
            "arbiterOnly" : false,
            "buildIndexes" : true,
            "hidden" : false,
            "priority" : 1,
            "tags" : {

            },
            "slaveDelay" : NumberLong(0),
            "votes" : 1
         },
         {
            "_id" : 2,
            "host" : "m3.example.net:27017",
            "arbiterOnly" : false,
            "buildIndexes" : true,
            "hidden" : false,
            "priority" : 1,
            "tags" : {

            },
            "slaveDelay" : NumberLong(0),
            "votes" : 1
         }
      ],
      "settings" : {
         "chainingAllowed" : true,
         "heartbeatIntervalMillis" : 2000,
         "heartbeatTimeoutSecs" : 10,
         "electionTimeoutMillis" : 10000,
         "catchUpTimeoutMillis" : -1,
         "catchUpTakeoverDelayMillis" : 30000,
         "getLastErrorModes" : {

         },
         "getLastErrorDefaults" : {
            "w" : 1,
            "wtimeout" : 0
         },
         "replicaSetId" : ObjectId("5eaa1e9ac4d650aa7817623d")
      }
   },
   "commitmentStatus" : true,  // Available in MongoDB 4.4
   "ok" : 1,
   "$clusterTime" : {
      "clusterTime" : Timestamp(1588212091, 1),
      "signature" : {
         "hash" : BinData(0,"veOHa2mOeRTzuR0LKqnzGxWV77k="),
         "keyId" : NumberLong("6821298283919441923")
      }
   },
   "operationTime" : Timestamp(1588212091, 1)
}
config The replica set configuration. For description of each configuration settings, see Replica Set Configuration.
commitmentStatus

A boolean that indicates whether the most recent replica set configuration has been committed; i.e.

  • The most recent replica set configuration for the primary has propagated to a majority of members, and
  • The last write operation to the replica set with the previous configuration has been majority-commited in the new configuration.

If true, then the configuration has been committed, and the replica set can be reconfigured. To reconfigure the replica set, see replSetReconfig command or the mongo shell method rs.reconfig().

If false, then the configuration has not been committed, and the replica set cannot be reconfigured.

ok A number that indicates whether the command has succeeded (1) or failed (0).
operationTime
$clusterTime
Returned with every command for a replica set. See db.adminCommand Response for details.