Delayed Replica Set Members

    Delayed members contain copies of adata set. However, a delayed member’s data set reflects an earlier, or delayed, state of the set. For example, if the current time is 09:52 and a member has a delay of an hour, the delayed member has no operation more recent than 08:52.

    Because delayed members are a “rolling backup” or a running “historical” snapshot of the data set, they may help you recover from various kinds of human error. For example, a delayed member can make it possible to recover from unsuccessful application upgrades and operator errors including dropped databases and collections.

    • Should be
      hidden
      members. Always prevent applications from seeing and querying delayed members.
    • do
      vote in

      for primary, if

      is set to 1.

    Delayed members copy and apply operations from the sourceon a delay. When choosing the amount of delay, consider that the amount of delay:

    • must be equal to or greater than your expected maintenance window durations.
    • must be
      smaller
      than the capacity of the oplog. For more information on oplog size, see
      Oplog Size
      .

    In sharded clusters, delayed members have limited utility when theis enabled. Because delayed members replicate chunk migrations with a delay, the state of delayed members in a sharded cluster are not useful for recovering to a previous state of the sharded cluster if any migrations occur during the delay window.

    A delayed member has itsmembers[n].priorityequal to,equal to, and itsmembers[n].slaveDelayequal to the number of seconds of delay: