Definición
fsyncUnlockReduce el conteo de bloqueos en el servidor o clúster. Para habilitar las operaciones de guardar, el recuento de bloqueos debe ser cero.
A partir de MongoDB 6.0.11 (también disponible a partir de la versión 5.0.22) la
fsyncyfsyncUnlock, los comandos pueden ejecutar enmongospara bloqueo y desbloqueo un clúster.Usa este comando para desbloquear las escrituras después de finalizar una operación de copia de seguridad.
Importante
Los servidores mantienen un recuento de bloqueos fsync. El comando
fsynccon el campolockconfigurado entrueincrementa el recuento de bloqueos, mientras que el comandofsyncUnlocklo decrementa. Para habilitar la escritura en un servidor o clúster bloqueado, ejecute el comandofsyncUnlockhasta que el recuento de bloqueos llegue a cero.fsyncUnlockes una operación administrativa. Por lo general, se utilizafsyncUnlockdespués de una operación de copia de seguridad de la base de datos.Tip
En
mongosh, este comando también se puede ejecutar a través del método asistentedb.fsyncUnlock().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.
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.
Sintaxis
El comando tiene la siguiente sintaxis:
db.adminCommand( { fsyncUnlock: 1, comment: <any> } )
El campo comment es opcional y puede contener un comentario de cualquier tipo de datos.
Resultados
La operación devuelve un documento con los siguientes campos:
Campo | Descripción |
|---|---|
| Información sobre el estado de la operación |
| El número de bloqueos que quedan en la instancia después de la operación. |
| El código de estado. |
Ejemplos
Considera una situación en la que db.fsyncLock() se haya emitido dos veces. La siguiente fsyncUnlock operación reduce los bloqueos tomados por db.fsyncLock() en 1:
db.adminCommand( { fsyncUnlock: 1 } )
La operación devuelve el siguiente documento:
{ "info" : "fsyncUnlock completed", "lockCount" : Long(1), "ok" : 1 }
Como lockCount es mayor que 0, la instancia mongod está bloqueada para guardar. Para desbloquear la instancia para guardar, ejecuta la operación de desbloqueo nuevamente:
db.adminCommand( { fsyncUnlock: 1 } )
La operación devuelve el siguiente documento:
{ "info" : "fsyncUnlock completed", "lockCount" : Long(0), "ok" : 1 }
La instancia mongod está desbloqueada para guardar.