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 7.0.2 (también disponible a partir de 6.0.11 y 5.0.22) los comandos
fsyncyfsyncUnlockpueden ejecutarse enmongospara bloquear y desbloquear un clúster con particiones automáticamente.Usa este comando para desbloquear las escrituras después de finalizar una operación de copia de seguridad.
Importante
Los servidores mantienen un contador de bloqueos fsync. El comando
fsynccon el campolockconfigurado entrueincrementa el contador de bloqueos, mientras que el comandofsyncUnlocklo decrementa. Para habilitar las escrituras en un servidor o clúster bloqueado, ejecute el comandofsyncUnlockhasta que el contador de bloqueos llegue a cero.fsyncUnlockes una operación administrativa. Normalmente, 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 auxiliardb.fsyncUnlock().Los métodos auxiliares son prácticos para los usuarios de
mongosh, pero es posible que no proporcionen el mismo nivel de información que los comandos de la base de datos. En los casos en que no se necesite esta comodidad o se requieran los campos de retorno adicionales, utilice el comando de la 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
Consideremos una situación en la que db.fsyncLock() se ha emitido dos veces. La siguiente operación fsyncUnlock 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.