replSetSyncFrom
Description
replSetSyncFrom
- Temporarily overrides the default sync target for the current
mongod
. This operation is useful for testing differentpatterns and in situations where a set member is not replicatingfrom the desired host.
Changed in version 3.2: MongoDB 3.2 replica set members with 1 vote
cannot sync from members with 0 votes
.
Run replSetSyncFrom
in the admin
database.
The replSetSyncFrom
command has the following form:
- db.adminCommand( { replSetSyncFrom: "hostname<:port>" })
The replSetSyncFrom
command has the following field:
FieldTypeDescriptionreplSetSyncFrom
stringThe name and port number of the replica set member that this membershould replicate from. Use the [hostname]:[port]
form.
Changed in version 3.2: MongoDB 3.2 replica set members with 1 vote
cannot sync from members with 0 votes
.
Behavior
Sync Logic
Changed in version 3.4.
If an initial sync operation is in progress when you runreplSetSyncFrom
, replSetSyncFrom
stops the in-progress initial sync andrestarts the sync process with the new target. In previous versions,if you run replSetSyncFrom
during initial sync, MongoDB produces noerror messages, but the sync target will not change until after theinitial sync operation.
Only modify the default sync logic as needed, and always exercisecaution.
Target
The member to sync from must be a valid source for data in the set.To sync from a member, the member must:
- Have data. It cannot be an arbiter, in startup or recovering mode, andmust be able to answer data queries.
- Be accessible.
- Be a member of the same set in the replica set configuration.
- Build indexes with the
members[n].buildIndexes
setting. - A different member of the set, to prevent syncing from itself.
If you attempt to replicate from a member that is more than 10 secondsbehind the current member, mongod
will log a warning but willstill replicate from the lagging member. See alsoReplication Lag and Flow Control.
Persistence
replSetSyncFrom
provide a temporary override of default behavior.mongod
will revert to the default sync behavior in thefollowing situations:
- The
mongod
instance restarts. - The connection between the
mongod
and the sync targetcloses. - If the sync target falls more than 30 seconds behind anothermember of the replica set.
For more information the use of replSetSyncFrom
, seeConfigure a Secondary’s Sync Target.