Definición
rs.syncFrom()Anula temporalmente el objetivo de sincronización predeterminado para el miembro actual.
Importante
Método mongosh
Esta página documenta un método
mongosh. Esta no es la documentación para los comandos de base de datos ni para los drivers específicos de lenguajes, como Nodo.js.Para el comando de base de datos, consulte el
replSetFreezedominio.Para los drivers de API de MongoDB, consulte la documentación del driver de MongoDB específica del lenguaje.
Especifica el nombre del nodo del que deseas replicar en la forma de
[hostname]:[port].
Compatibilidad
Este método está disponible en implementaciones alojadas en los siguientes entornos:
MongoDB Enterprise: La versión basada en suscripción y autogestionada de MongoDB
MongoDB Community: La versión de MongoDB con código fuente disponible, de uso gratuito y autogestionada.
Comportamiento
Limitaciones
Para que replSetSyncFrom anule el objetivo de sincronización por defecto, settings.chainingAllowed debe establecerse en true.
Si settings.chainingAllowed se establece en false, replSetSyncFrom devuelve ok:1 pero no establece el destino de sincronización.
A partir de MongoDB 5.0.2, puedes anular settings.chainingAllowed estableciendo el parámetro del servidor enableOverrideClusterChainingSetting en true. Esto permite la sincronización desde un miembro Secundario incluso si settings.chainingAllowed es false.
Lógica de sincronización
Si hay una operación de sincronización inicial en curso cuando ejecutas replSetSyncFrom, replSetSyncFrom detiene la sincronización inicial en curso y reinicia el proceso de sincronización con el nuevo destino.
Modifica solamente la lógica de sincronización por defecto cuando sea necesario, y siempre actúa con precaución.
Objetivo
El nodo desde el que se sincroniza debe ser una fuente válida para los datos del conjunto. Para sincronizar desde un nodo, el nodo debe:
Tener datos. No puede ser un árbitro, ni estar en modo de inicio o recuperación, y debe poder responder consultas de datos.
Sé accesible.
Ser nodo del mismo conjunto en la configuración del set de réplicas.
Crear un índice con la configuración
members[n].buildIndexes.Un nodo diferente del conjunto, para evitar la sincronización de sí mismo.
Si intentas replicar desde un nodo que tiene más de 10 segundos de retraso con respecto al nodo actual, mongod registrará un registro de advertencia, pero aún así replicará desde el nodo rezagado. Consulta también atraso de la replicación y control de flujo.
Persistencia
replSetSyncFrom proporciona una anulación temporal del comportamiento predeterminado. volverá al comportamiento de sincronización predeterminado en las siguientesmongod situaciones:
Ejemplo
Para utilizar el asistente rs.syncFrom() en mongosh:
rs.syncFrom("myHost:27017");