- Replication >
- Replica Set Tutorials >
- Member Configuration Tutorials >
- Configure a Delayed Replica Set Member
Configure a Delayed Replica Set Member¶
On this page
To configure a delayed secondary member, set its
priority
value to 0
, its
hidden
value to true
, and
its slaveDelay
value to the
number of seconds to delay.
Important
The length of the secondary
slaveDelay
must
fit within the window of the oplog. If the oplog is shorter than
the slaveDelay
window, the delayed member cannot successfully replicate
operations.
When you configure a delayed member, the delay applies both to replication and to the member’s oplog. For details on delayed members and their uses, see Delayed Replica Set Members.
Example¶
The following example sets a 1-hour delay on a secondary member
currently at the index 0
in the
members
array. To set the delay, issue
the following sequence of operations in a mongo
shell
connected to the primary:
After the replica set reconfigures, the delayed secondary member cannot
become primary and is hidden from applications. The
slaveDelay
value delays both
replication and the member’s oplog by 3600 seconds (1 hour).
When updating the replica configuration object, access the replica set
members in the members
array with the
array index. The array index begins with 0
. Do not confuse
this index value with the value of the
_id
field in each document in
the members
array.
Warning
- The
rs.reconfig()
shell method can force the current primary to step down, which causes an election. When the primary steps down, themongod
closes all client connections. While this typically takes 10-20 seconds, try to make these changes during scheduled maintenance periods. - To successfully reconfigure a replica set, a majority of the members must be accessible. If your replica set has an even number of members, add an arbiter to ensure that members can quickly obtain a majority of votes in an election for primary.