Docs Home → Develop Applications → MongoDB Manual
rs.syncFrom()
rs.syncFrom()
Provides a wrapper around the
replSetSyncFrom
, which allows administrators to temporarily override the default sync target for the current member. Specify the name of the member you want to replicate from in the form of[hostname]:[port]
.
Behavior
Sync Logic
Changed in version 3.4.
If an initial sync operation is in progress when you run
replSetSyncFrom
, replSetSyncFrom
stops the in-progress initial sync and
restarts the sync process with the new target. In previous versions,
if you run replSetSyncFrom
during initial sync, MongoDB produces no
error messages, but the sync target will not change until after the
initial sync operation.
Only modify the default sync logic as needed, and always exercise caution.
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, and must 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 seconds
behind the current member, mongod
will log a warning but will
still replicate from the lagging member. See also
Replication Lag and Flow Control.
Persistence
replSetSyncFrom
provide a temporary override of default behavior.
mongod
will revert to the default sync behavior in the
following situations:
Example
To use the rs.syncFrom()
helper in mongosh
:
rs.syncFrom("myHost:27017");