Definición
fsyncUnlockReduce el número de bloqueos en el servidor o clúster. Para habilitar las operaciones de escritura, el número de bloqueos debe ser cero.
A partir de MongoDB 6.0.11 (también disponible a partir de 5.0.22) el
fsyncLosfsyncUnlockcomandos y se pueden ejecutar en para bloquear y desbloquear un clústermongosfragmentado.Utilice este comando para desbloquear escrituras después de finalizar una operación de copia de seguridad.
Importante
Los servidores mantienen un contador de bloqueos fsync. El comando con
fsyncellockcampo establecido entrueincrementa el contador de bloqueos, mientras que el comando lo disminuye. Para habilitar escriturasfsyncUnlockfsyncUnlocken un servidor o clúster bloqueado, ejecute el comando hasta que el contador de bloqueos llegue a cero.fsyncUnlockes una operación administrativa. Normalmente, se usa después de una copia defsyncUnlockseguridad de la base de datos.Tip
mongoshEn, este comando también se puede ejecutar a través del métododb.fsyncUnlock()auxiliar.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 |
| La cantidad 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 se ha emitido db.fsyncLock() dos veces. La siguiente operación reduce fsyncUnlock db.fsyncLock() los 1 bloqueos tomados por en:
db.adminCommand( { fsyncUnlock: 1 } )
La operación devuelve el siguiente documento:
{ "info" : "fsyncUnlock completed", "lockCount" : Long(1), "ok" : 1 }
Como lockCount es mayor 0 que, la instancia queda bloqueada contra escrituras. Para desbloquear la instancia, ejecute de nuevo la operación de mongod desbloqueo:
db.adminCommand( { fsyncUnlock: 1 } )
La operación devuelve el siguiente documento:
{ "info" : "fsyncUnlock completed", "lockCount" : Long(0), "ok" : 1 }
La instancia está desbloqueada para mongod escrituras.