Definição
fsyncUnlockReduz a contagem de bloqueios no servidor ou cluster. To enable write operations, the lock count must be zero.
Começando no MongoDB 7.0.2 (também disponível a partir de 6.0.11 e 5.0.22) os comandos
fsyncefsyncUnlockpodem ser executados emmongospara bloqueio e desbloquear um cluster fragmentado.Use este comando para desbloquear gravações depois de concluir uma operação de backup.
Importante
Os servidores mantêm uma contagem de travas do fsync. O comando
fsynccom o campolockdefinido comotrueaumenta a contagem de bloqueios, enquanto o comandofsyncUnlocka diminui. Para habilitar gravações em um servidor ou cluster bloqueado, chame o comandofsyncUnlockaté que a contagem de bloqueios chegue a zero.fsyncUnlocké uma operação administrativa. Normalmente, você usaráfsyncUnlockapós uma operação de backup do banco de dados.Dica
Em
mongosh, esse comando também pode ser executado por meio do método auxiliardb.fsyncUnlock().Os métodos auxiliares são práticos para os usuários
mongosh, mas podem não retornar o mesmo nível de informações que os comandos do banco de dados. Nos casos em que a praticidade não for necessária ou os campos de retorno adicionais forem necessários, use o comando de banco de dados.
Compatibilidade
Esse comando está disponível em implantações hospedadas nos seguintes ambientes:
MongoDB Enterprise: a versão autogerenciada e baseada em assinatura do MongoDB
MongoDB Community: uma versão com código disponível, de uso gratuito e autogerenciada do MongoDB
Sintaxe
O comando tem a seguinte sintaxe:
db.adminCommand( { fsyncUnlock: 1, comment: <any> } )
O campo comment é opcional e pode conter um comentário de qualquer tipo de dados.
Resultados
A operação retorna um documento com os seguintes campos:
Campo | Descrição |
|---|---|
| Informações sobre o status da operação |
| O número de bloqueio restantes na instância após a operação. |
| O código de status. |
Exemplos
Considere uma situação em que db.fsyncLock() foi emitido duas vezes. A operação fsyncUnlock a seguir reduz os bloqueios feitos por db.fsyncLock() por 1:
db.adminCommand( { fsyncUnlock: 1 } )
A operação retorna o seguinte documento:
{ "info" : "fsyncUnlock completed", "lockCount" : Long(1), "ok" : 1 }
As the lockCount is greater than 0, the mongod instance is locked against writes. Para desbloquear a instância para gravações, execute a operação de desbloqueio novamente:
db.adminCommand( { fsyncUnlock: 1 } )
A operação retorna o seguinte documento:
{ "info" : "fsyncUnlock completed", "lockCount" : Long(0), "ok" : 1 }
A instância mongod está desbloqueada para gravações.