Definición
db.fsyncUnlock()Reduce la cantidad de bloqueos en el servidor para volver a habilitar las operaciones de escritura.
A partir de MongoDB 7.1 (también disponible a partir de 7.0.2, 6.0.11 y 5.0.22) los métodos
db.fsyncLock()ydb.fsyncUnlock()pueden ejecutarse enmongospara bloquear y desbloquear un clúster particionado.Importante
Método mongosh
Esta página documenta un método
mongosh. No se trata de la documentación de comandos de base de datos ni de controladores específicos de lenguajes de programación, como Node.js.Para el comando de base de datos, consulta el comando
fsyncUnlock.Para obtener información sobre los controladores de la API de MongoDB, consulte la documentación del controlador de MongoDB específica del lenguaje.
Los servidores mantienen un contador de bloqueos fsync. El método
fsyncLock()incrementa este contador, mientras que el métodofsyncUnlock()lo decrementa. Para desbloquear las escrituras en un servidor o clúster, llame al métodofsyncUnlock()hasta que el contador de bloqueos llegue a cero.db.fsyncUnlock()es una operación administrativa. Utilice este método para desbloquear un servidor o clúster después de una operación de copia de seguridad.db.fsyncUnlock()tiene la sintaxis:db.fsyncUnlock() La operación devuelve un documento con los siguientes campos:
infoInformación sobre el estado de la operación.
lockCountEl número de bloqueos que quedan en la instancia después de la operación.
okEl código de estado.
El método
db.fsyncUnlock()envuelve el comandofsyncUnlock.
Compatibilidad
Este método está disponible en implementaciones alojadas en los siguientes entornos:
Importante
Este comando no es compatible con los clústeres de MongoDB Atlas. Para obtener información sobre la compatibilidad de Atlas con todos los comandos, consulte Comandos no compatibles.
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.
Compatibilidad con WiredTiger
db.fsyncLock() asegura que los archivos de datos sean seguros para copiar utilizando utilidades de copia de seguridad de bajo nivel como cp, scp o tar. Un mongod empezó a utilizar los archivos copiados que contienen datos escritos por el usuario que son indistinguibles de los datos escritos por el usuario en el mongod bloqueado.
Los archivos de datos de un mongod bloqueado pueden cambiar debido a operaciones como sincronizaciones de diarios o instantáneas de WiredTiger. Si bien esto no tiene ningún efecto en los datos lógicos (por ejemplo, datos a los que acceden los clientes), algunas utilidades de copia de seguridad pueden detectar estos cambios y emitir advertencias o fallar con errores. Para obtener más información sobre las utilidades y procedimientos de copia de seguridad recomendados por MongoDB, consulte Métodos de copia de seguridad para una implementación autogestionada.
Ejemplo
Consideremos una situación en la que db.fsyncLock() se ha emitido dos veces. La siguiente operación db.fsyncUnlock() reduce los bloqueos tomados por db.fsyncLock() en 1:
db.fsyncUnlock()
La operación devuelve el siguiente documento:
{ "info" : "fsyncUnlock completed", "lockCount" : Long(1), "ok" : 1 }
Como el lockCount es mayor que 0, la instancia mongod está bloqueada para guardar. Para desbloquear la instancia para escrituras, ejecuta db.fsyncLock() nuevamente:
db.fsyncUnlock()
La operación devuelve el siguiente documento:
{ "info" : "fsyncUnlock completed", "lockCount" : Long(0), "ok" : 1 }
La instancia mongod está desbloqueada para guardar.