Desbloqueio Fsync
Definição
fsyncUnlock
Reduz a contagem de bloqueios no servidor ou cluster. To enable write operations, the lock count must be zero.
A partir de MongoDB 7.1 (também disponível a partir de 7.0.2, 6.0.11 e 5.0.22) os comandos
fsync
efsyncUnlock
podem ser executados nomongos
para bloquear 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
fsync
com o campolock
definido comotrue
aumenta a contagem de bloqueios, enquanto o comandofsyncUnlock
a diminui. Para habilitar gravações em um servidor ou cluster bloqueado, chame o comandofsyncUnlock
até que a contagem de bloqueios chegue a zero.fsyncUnlock
é uma operação administrativa. Normalmente, você usaráfsyncUnlock
apó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 Atlas: o serviço totalmente gerenciado para implantações do MongoDB na nuvem
Importante
Este comando não é suportado em clusters M0, M2 e M5 . Para obter mais informações, consulte Comandos não suportados.
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 |
---|---|
info | Informações sobre o status da operação |
lockCount | O número de bloqueio restantes na instância após a operação. |
ok | 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" : NumberLong(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" : NumberLong(0), "ok" : 1 }
A instância mongod
está desbloqueada para gravações.