Novo na versão 3.2.
Definição
killOpTermina uma operação conforme especificado pelo ID da operação. fornece
mongoshodb.killOp()assistente . Para encontrar operações e seus ID correspondentes, consulte$currentOpdb.currentOp()ou.O comando
killOpdeve ser executado no reconhecimento de data centeradmin.Para executar o killOp, use o método
db.runCommand( { <command> } ).
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 tem suporte limitado em M0, M2, M5 e M10+ clusters. 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 o seguinte formato:
{ "killOp": 1, "op": <opid>, comment: <any> }
Campos de comando
Parâmetro | Tipo | Descrição |
|---|---|---|
| número | Um ID de operação. |
| any | Opcional. Um comentário fornecido pelo usuário para anexar a este comando. Depois de definido, esse comentário aparece junto com os registros desse comando nos seguintes locais:
Um comentário pode ser qualquer tipo BSON válido (string, inteiro, objeto, array etc). |
Aviso
Encerre as operações em execução com extrema cautela. Use apenas killOp para encerrar operações iniciadas por clientes e não encerre operações internas de banco de dados.
Comportamento
Não use killOp para encerrar compilações de índice em andamento em conjuntos de réplicas ou clusters fragmentados. Use dropIndexes no primário para eliminar o índice. Consulte Cancelar compilações de índice em andamento.
Controle de acesso
Em sistemas executados com authorization , para eliminar operações que não pertencem ao usuário, o usuário deve ter acesso que inclua a ação de privilégio killop .
Em instâncias do mongod , os usuários podem matar suas próprias operações mesmo sem a ação de privilégio do killop .
Cluster fragmentado
O comando killOp pode ser executado em um mongos e pode eliminar queries (ou seja, operações de leitura) que abrangem fragmentos em um cluster. O comando killOp do mongos não se propaga para os shards quando a operação a ser eliminada é uma operação de gravação.
Para obter informações sobre como listar as operações de fragmentação que estão ativas em um mongos, consulte o parâmetro localOps em $currentOp.
Para obter mais informações e exemplos sobre como eliminar operações em um cluster fragmentado, consulte:
Exemplo
O exemplo a seguir usa killOp para direcionar a operação em execução com opid 3478.
db.adminCommand( { "killOp": 1, "op": 3478 } )
A operação retorna o seguinte resultado:
{ "info" : "attempting to kill op", "ok" : 1 }
killOp relata o sucesso se tiver êxito em marcar a operação especificada para encerramento. As operações não podem ser encerradas até que atinjam um ponto de interrupção apropriado . Use $currentOp ou db.currentOp() para confirmar que a operação de destino foi encerrada.