Descripción
replSetSyncFromSobrescribe temporalmente el destino de sincronización por defecto para el actual
mongodEsta operación es útil para probar distintos patrones y en situaciones en las que un nodo del conjunto no se replica desde el host deseado.Tip
En
mongosh, este comando también puede ejecutarse a través del método asistenters.syncFrom().Los métodos asistente son convenientes para usuarios de
mongosh, pero es posible que no proporcionen el mismo nivel de información que los comandos de base de datos. En los casos en que no se necesite la conveniencia o se requieran campos de retorno adicionales, utiliza el comando de base de datos.Ejecuta
replSetSyncFromen la base de datosadmin.
Compatibilidad
Este comando 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.
Importante
Este comando no es compatible con los clústeres de MongoDB Atlas. Para obtener información sobre el soporte de Atlas para todos los comandos, consulta Comandos no compatibles.
Sintaxis
El comando tiene la siguiente sintaxis:
db.adminCommand( { replSetSyncFrom: "hostname<:port>" } )
Campos de comandos
El comando toma el siguiente campo:
Comportamiento
Limitaciones
Para que replSetSyncFrom anule el destino de sincronización por defecto, settings.chainingAllowed debe estar configurado como true.
Si settings.chainingAllowed está configurado en false, replSetSyncFrom devuelve ok:1 pero no define el objetivo 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 replSetSyncFrom ejecuta, 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 sobreescritura temporal del comportamiento por defecto. mongod volverá al comportamiento de sincronización por defecto en las siguientes situaciones:
Para obtener más información sobre el uso de replSetSyncFrom, consulte Configure un objetivo de sincronización de secundario autogestionado.