- Reference >
- Database Commands >
- Replication Commands >
- replSetGetStatus
replSetGetStatus¶
On this page
Definition¶
-
replSetGetStatus
¶ The
replSetGetStatus
command returns the status of the replica set from the point of view of the server that processed the command.replSetGetStatus
must be run against the admin database. The command has the following prototype form:Starting in MongoDB 3.4, when running on a secondary member, you can optionally include
initialSync: 1
to return initial sync status information:Data provided by this command derives from data included in heartbeats sent to the server by other members of the replica set. Because of the frequency of heartbeats, these data can be several seconds out of date.
The
mongo
shell provides thers.status()
helper; however, you cannot specify theinitialSync: 1
option using the helper.The
mongod
instance must have replication enabled and be a member of a replica set forreplSetGetStatus
to return successfully.
Example¶
- Primary
- Secondary
The following example runs the replSetGetStatus
command on the admin database of the replica set
primary:
The command returns the following output for an example replica set primary:
The following example runs the replSetGetStatus
command on the admin database of the replica set
primary. In this example, the optional initialSync: 1
is
included in the command (you can omit if you do not want to
return the initial sync status):
The command returns the following output for an example replica set secondary:
Output¶
The replSetGetStatus command returns a document with the following fields:
-
replSetGetStatus.
set
¶ The
set
value is the name of the replica set, configured in thereplSetName
setting. This is the same value as_id
inrs.conf()
.
-
replSetGetStatus.
date
¶ An ISODate formatted date and time that reflects the current time according to the server that processed the replSetGetStatus command. Compare this to the values of
replSetGetStatus.members[n].lastHeartbeat
to find the operational latency between this server and the other members of the replica set.
-
replSetGetStatus.
myState
¶ An integer between
0
and10
that represents the replica state of the current member.
-
replSetGetStatus.
term
¶ New in version 3.2.
The election count for the replica set, as known to this replica set member. The
term
is used by the distributed consensus algorithm to ensure correctness.
-
replSetGetStatus.
syncingTo
¶ Deprecated since version 4.0,: 3.6.6, 3.4.16
Starting in MongoDB 4.0 (and 3.6.6, 3.4.16), MongoDB deprecates
syncingTo
. SeereplSetGetStatus.syncSourceHost
instead.The
syncingTo
field holds the hostname of the member from which this instance syncs. If this instance is a primary, returns an empty string""
.
-
replSetGetStatus.
syncSourceHost
¶ New in version 4.0,: 3.6.6, 3.4.16
The
syncSourceHost
field holds the hostname of the member from which this instance syncs.If this instance is a primary,
syncSourceHost
is an empty string and thesyncSourceId
-1
.
-
replSetGetStatus.
syncSourceId
¶ New in version 4.0,: 3.6.6, 3.4.16
The
syncSourceId
field holds thereplSetGetStatus.members[n]._id
of the member from which this instance syncs.If this instance is a primary,
syncSourceHost
is an empty string and thesyncSourceId
-1
.
-
replSetGetStatus.
heartbeatIntervalMillis
¶ New in version 3.2.
The frequency in milliseconds of the heartbeats.
-
replSetGetStatus.
optimes
¶ New in version 3.4.
The
optimes
field holds a document that contains optimes used to inspect replication progress.Each optime value is a document that contains:
ts
, the Timestamp of the operation.t
, theterm
in which the operation was originally generated on the primary.
-
replSetGetStatus.optimes.
lastCommittedOpTime
¶ Information, from the viewpoint of this member, regarding the most recent operation that has been written to a majority of replica set members.
-
replSetGetStatus.optimes.
readConcernMajorityOpTime
¶ Information, from the viewpoint of this member, regarding the most recent operation that can fulfill read concern
"majority"
queries; i.e. the most recentlastCommittedOpTime
that can fulfill"majority"
queries.readConcernMajorityOpTime
is either less than or equal tolastCommittedOpTime
.
-
replSetGetStatus.optimes.
appliedOpTime
¶ Information, from the viewpoint of this member, regarding the most recent operation that has been applied to this member of the replica set.
-
replSetGetStatus.optimes.
durableOpTime
¶ Information,, from the viewpoint of this member, regarding the most recent operation that has been written to the journal of this member of the replica set.
-
replSetGetStatus.
lastStableCheckpointTimestamp
¶ New in version 4.0.
Available for the WiredTiger Storage Engine.
Timestamp at which the current, or a previous, persisted checkpoint was taken. Although
lastStableCheckpointTimestamp
may lag the most recent persisted checkpoint, the returned timestamp is guaranteed to be persisted in a stable checkpoint to disk.A
null
value indicates that no stable checkpoint exists.
-
replSetGetStatus.
electionCandidateMetrics
¶ New in version 4.0.14.
Metrics related to the election of the current primary.
electionCandidateMetrics
is only available on the primary or a candidate for election. For a candidate, the metrics becomes unavailable once the candidate loses the election.-
replSetGetStatus.electionCandidateMetrics.
lastElectionReason
¶ New in version 4.0.14.
Reason the member called the election.
-
replSetGetStatus.electionCandidateMetrics.
lastElectionDate
¶ New in version 4.0.14.
The date and time the member called the election.
-
replSetGetStatus.electionCandidateMetrics.
electionTerm
¶ New in version 4.0.14.
The member’s election count (i.e.
term
) at the time it called for the new election.
-
replSetGetStatus.electionCandidateMetrics.
lastCommittedOpTimeAtElection
¶ New in version 4.0.14.
The most recent
majority-committed optime
, as seen by this member, at the time it called for the new election.
-
replSetGetStatus.electionCandidateMetrics.
lastSeenOpTimeAtElection
¶ New in version 4.0.14.
The member’s most recent
applied optime
at the time it called for the new election.
-
replSetGetStatus.electionCandidateMetrics.
numVotesNeeded
¶ New in version 4.0.14.
The number of votes needed to win the election.
-
replSetGetStatus.electionCandidateMetrics.
priorityAtElection
¶ New in version 4.0.14.
The member’s
priority
at the time it called the election.
-
replSetGetStatus.electionCandidateMetrics.
electionTimeoutMillis
¶ New in version 4.0.14.
The replica set’s configured
electionTimeoutMillis
setting at the time of the election.
-
replSetGetStatus.electionCandidateMetrics.
priorPrimaryMemberId
¶ New in version 4.0.14.
The
members[n]._id
of the previous primary. If there is no previous primary, then the field is not present.
-
replSetGetStatus.electionCandidateMetrics.
targetCatchupOpTime
¶ New in version 4.0.13.
The newly-elected primary’s target opTime for its catchup process. Only when the newly-elected primary reaches the target catchup opTime can it start accepting writes.
-
replSetGetStatus.electionCandidateMetrics.
numCatchUpOps
¶ New in version 4.0.14.
The number of operations applied by the newly-elected primary as it successfully concludes its catchup process.
-
replSetGetStatus.electionCandidateMetrics.
newTermStartDate
¶ New in version 4.0.14.
The date and time at which the member’s term as the primary started (i.e. the date and time at which a
new term
entry was written to the oplog).
-
replSetGetStatus.electionCandidateMetrics.
wMajorityWriteAvailabilityDate
¶ New in version 4.0.14.
The date and time at which the write concern
"majority"
became available after the election for the replica set(i.e. the date and time at which thenew term
oplog entry was majority committed).
-
-
replSetGetStatus.
electionParticipantMetrics
¶ Metrics related to the latest election in which the member participated.
New in version 4.0.14.
-
replSetGetStatus.electionParticipantMetrics.
votedForCandidate
¶ A boolean which indicates whether the member voted for the candidate calling the election.
New in version 4.0.14.
-
replSetGetStatus.electionParticipantMetrics.
electionTerm
¶ The term of the election in which the member participated. The term identifies the election associated with the participant metrics.
New in version 4.0.14.
-
replSetGetStatus.electionParticipantMetrics.
lastVoteDate
¶ An ISODate formatted date string that reflects when the participant voted.
New in version 4.0.14.
-
replSetGetStatus.electionParticipantMetrics.
electionCandidateMemberId
¶ The
members[n]._id
of the candidate calling the election.New in version 4.0.14.
-
replSetGetStatus.electionParticipantMetrics.
voteReason
¶ The reason for the vote if the member did not vote for the candidate. If the member voted for the candidate, the value is an empty string.
New in version 4.0.14.
-
replSetGetStatus.electionParticipantMetrics.
lastAppliedOpTimeAtElection
¶ This member’s latest applied optime at the time of the election.
The optime value is a document that contains the Timestamp (
ts
) and the term (t
).
-
replSetGetStatus.electionParticipantMetrics.
maxAppliedOpTimeInSet
¶ The most recent applied optime for any member of this replica set, as known by this member.
The optime value is a document that contains the Timestamp (
ts
) and the term (t
).New in version 4.0.14.
-
replSetGetStatus.electionParticipantMetrics.
priorityAtElection
¶ The member’s
priority
at the time of the election.New in version 4.0.14.
-
replSetGetStatus.electionParticipantMetrics.
newTermStartDate
¶ The date and time at which the elected primary’s term started; this corresponds to when the primary wrote the
new term
entry to its oplog and not when the entry was added (i.e. replicated) to the secondary’s oplog.The field is available for secondary members only. For the primary, see
replSetGetStatus.electionCandidateMetrics.newTermStartDate
instead.New in version 4.0.14.
-
replSetGetStatus.electionParticipantMetrics.
newTermAppliedDate
¶ The date and time at which this secondary applied the
new term
entry.The field is available for secondary members only.
New in version 4.0.14.
-
-
replSetGetStatus.
initialSyncStatus
¶ New in version 3.4: Available only if the command is run with the initialSync: 1 option on a secondary
A document provides information on the progress and status of initial sync on this secondary.
Note
Some fields that relate to the progress of an on-going initial sync only appear while the initial sync is in progress and do not appear once the initial sync completes.
-
replSetGetStatus.initialSyncStatus.
failedInitialSyncAttempts
¶ New in version 3.4: Available only if the command is run with the initialSync: 1 option on a secondary
The number of times the initial sync failed and had to restart on this secondary.
-
replSetGetStatus.initialSyncStatus.
maxFailedInitialSyncAttempts
¶ New in version 3.4: Available only if the command is run with the initialSync: 1 option on a secondary
The maximum number of times the initial sync can restart on this secondary before the member shuts down.
-
replSetGetStatus.initialSyncStatus.
initialSyncStart
¶ New in version 3.4: Available only if the command is run with the initialSync: 1 option on a secondary
The start timestamp of the initial sync for this secondary.
-
replSetGetStatus.initialSyncStatus.
initialSyncEnd
¶ New in version 3.4: Available only if the command is run with the initialSync: 1 option on a secondary
The end timestamp of the initial sync for this secondary.
-
replSetGetStatus.initialSyncStatus.
initialSyncElapsedMillis
¶ New in version 3.4: Available only if the command is run with the initialSync: 1 option on a secondary
The number of milliseconds between
initialSyncStart
andinitialSyncEnd
.
-
replSetGetStatus.initialSyncStatus.
initialSyncAttempts
¶ New in version 3.4: Available only if the command is run with the initialSync: 1 option on a secondary
Array of documents where each document corresponds to a single initial sync attempt. See also
failedInitialSyncAttempts
.Each document contains the following information for the initial sync attempt:
-
replSetGetStatus.initialSyncStatus.
fetchedMissingDocs
¶ New in version 3.4: Available only if the command is run with the initialSync: 1 option on a secondary
The number of missing (i.e. uncloned) documents that were fetched from the sync source in order to apply to those documents the updates that occurred after the initial sync started.
As part of the initial sync process, the secondary uses the oplog to update its data set to reflect the current state of the replica set.
-
replSetGetStatus.initialSyncStatus.
appliedOps
¶ New in version 3.4: Available only if the command is run with the initialSync: 1 option on a secondary
The number of ops that occurred after the initial sync started and were applied after cloning the databases.
As part of the initial sync process, the secondary uses the oplog to update its data set to reflect the current state of the replica set.
-
replSetGetStatus.initialSyncStatus.
initialSyncOplogStart
¶ New in version 3.4: Available only if the command is run with the initialSync: 1 option on a secondary
The start timestamp of the oplog application stage of the initial sync where the secondary applies changes that occurred after the initial sync start.
As part of the initial sync process, the secondary uses the oplog to update its data set to reflect the current state of the replica set.
-
replSetGetStatus.initialSyncStatus.
initialSyncOplogEnd
¶ New in version 3.4: Available only if the command is run with the initialSync: 1 option on a secondary
The end timestamp of the oplog application stage of the initial sync where the secondary applies changes that occurred after the initial sync start.
As part of the initial sync process, the secondary uses the oplog to update its data set to reflect the current state of the replica set.
-
replSetGetStatus.initialSyncStatus.
databases
¶ New in version 3.4: Available only if the command is run with the initialSync: 1 option on a secondary
Detail on the databases cloned during initial sync.
-
replSetGetStatus.initialSyncStatus.databases.
databasesCloned
¶ New in version 3.4: Available only if the command is run with the initialSync: 1 option on a secondary
Number of databases cloned during initial sync.
-
replSetGetStatus.initialSyncStatus.databases.
<dbname>
¶ New in version 3.4: Available only if the command is run with the initialSync: 1 option on a secondary
For each database, a document that returns information regarding the progress of the cloning of that database.
-
-
replSetGetStatus.
members
¶ The
members
field holds an array that contains a document for every member in the replica set.-
replSetGetStatus.members[n].
_id
¶ The
_id
field holds the identifier for the member.
-
replSetGetStatus.members[n].
name
¶ The
name
field holds the name of the server.
-
replSetGetStatus.members[n].
self
¶ The
self
field is only included in the document for the currentmongod
instance in the members array. Its value istrue
.
-
replSetGetStatus.members[n].
health
¶ The
health
value is only present for the other members of the replica set (i.e. not the member that returnsrs.status
). This field conveys if the member is up (i.e.1
) or down (i.e.0
).
-
replSetGetStatus.members[n].
state
¶ The value of
state
is an integer between0
and10
that represents the replica state of the member.
-
replSetGetStatus.members[n].
uptime
¶ The
uptime
field holds a value that reflects the number of seconds that this member has been online.This value does not appear for the member that returns the
rs.status()
data.
-
replSetGetStatus.members[n].
optime
¶ Information regarding the last operation from the operation log that this member has applied.
Changed in version 3.2.
optime
returns a document that contains:
-
replSetGetStatus.members[n].
optimeDurable
¶ New in version 3.4.
Information regarding the last operation from the operation log that this member has applied to its journal.
optimeDurable
returns a document that contains:
-
replSetGetStatus.members[n].
optimeDate
¶ An ISODate formatted date string that reflects the last entry from the oplog that this member applied. If this differs significantly from
lastHeartbeat
this member is either experiencing “replication lag” or there have not been any new operations since the last update. Comparemembers.optimeDate
between all of the members of the set.
-
replSetGetStatus.members[n].
optimeDurableDate
¶ New in version 3.4.
An ISODate formatted date string that reflects the last entry from the oplog that this member applied to its journal.
-
replSetGetStatus.members[n].
electionTime
¶ For the current primary, information regarding the election Timestamp from the operation log. See Replica Set High Availability for more information about elections.
-
replSetGetStatus.members[n].
electionDate
¶ For the current primary, an ISODate formatted date string that reflects the election date. See Replica Set High Availability for more information about elections.
-
replSetGetStatus.members[n].
self
¶ Indicates which replica set member processed the replSetGetStatus command.
-
replSetGetStatus.members[n].
lastHeartbeat
¶ An ISODate formatted date and time that reflects the last time the server that processed the replSetGetStatus command received a response from a heartbeat that it sent to this member (
members[n]
). Compare this value to the values of thedate
andlastHeartBeatRecv
fields to track latency between these replica set members.This value is only available for replica set members other than the server specified by
replSetGetStatus.members[n].self
.
-
replSetGetStatus.members[n].
lastHeartbeatRecv
¶ An ISODate formatted date and time that reflects the last time the server that processed the replSetGetStatus command received a heartbeat request from this member (
members[n]
). Compare this value to the values of thedate
andlastHeartBeat
fields to track latency between these replica set members.This value is only available for replica set members other than the server specified by
replSetGetStatus.members[n].self
.
-
replSetGetStatus.members[n].
lastHeartbeatMessage
¶ When the last heartbeat included an extra message, the
lastHeartbeatMessage
contains a string representation of that message.
-
replSetGetStatus.members[n].
pingMs
¶ The
pingMs
represents the number of milliseconds (ms) that a round-trip packet takes to travel between the remote member and the local instance.This value does not appear for the member that returns the
rs.status()
data.
-
replSetGetStatus.members[n].
syncingTo
¶ Deprecated since version 4.0,: 3.6.6, 3.4.16
Starting in MongoDB 4.0 (and 3.6.6, 3.4.16), MongoDB deprecates
syncingTo
. SeereplSetGetStatus.members[n].syncSourceHost
instead.The
syncingTo
field holds the hostname of the member from which this instance is syncing. If the member is a primary, returns an empty string""
.
-
replSetGetStatus.members[n].
syncSourceHost
¶ New in version 4.0,: 3.6.6, 3.4.16
The
syncSourceHost
field holds the hostname of the member from which this instance syncs.If the
replSetGetStatus.members[n]
is a primary,syncSourceHost
is an empty string and thesyncSourceId
-1
.
-
replSetGetStatus.members[n].
syncSourceId
¶ New in version 4.0,: 3.6.6, 3.4.16
The
syncSourceId
field holds thereplSetGetStatus.members[n]._id
value of thesyncSourceHost
.If the
replSetGetStatus.members[n]
is a primary,syncSourceHost
is an empty string and thesyncSourceId
-1
.
-
replSetGetStatus.members[n].
configVersion
¶ New in version 3.0.
The
configVersion
value is thereplica set configuration version
.
-
See also Response for details on the ok
status
field, the operationTime
field and the $clusterTime
field.