Qual é a melhor maneira de enviar um patch para corrigir todos os danos que o LP: # 600941 causa?
Eu pergunto porque o LP: # 600941 foi colocado em todas as versões do Ubuntu ainda suportadas no momento. Devo escolher uma versão específica e executá ubuntu-bug
-la? Essa versão deve ser LTS, Oneiric ou Precise (como posso obter o Precise se precisar?)
A história é que, depois que foi lançado, todos os nossos sistemas começaram a experimentar falhas de reinicialização do Nagios nrpe.
Comandos como /etc/init.d/nagios-nrpe-server restart
faria o nrpe parar, mas não reiniciar.
Eu rastreei isso da maneira que o /etc/init.d/nagios-nrpe-server
script está chamando start-stop-daemon
.
O problema é que a sub-rotina "stop" no /etc/init.d/nagios-nrpe-server
script chama primeiro start-stop-daemon que envia o SIGTERM para o nrpe e aguarda apenas um segundo.
Se o nrpe ainda não tiver saído, o arquivo pid ainda existirá e o /etc/init.d/nagios-nrpe-server
script o removerá.
Pior ainda, se /etc/init.d/nagios-nrpe-server restart
for usado não apenas o arquivo pid será removido, a tentativa de reiniciar o nrpe falhará, desde que o daemon nrpe ainda esteja atrasado no desligamento.
A tentativa de iniciar nessas circunstâncias falhará porque o nrpe ainda estará vinculado a um soquete e a segunda tentativa de ligação fará com que a inicialização do nrpe seja interrompida.
Eles deveriam ter se perguntado por que houve um comentário sobre "às vezes o arquivo pid não é removido".
Eles deveriam ter testado em sistemas que possuem uma carga pesada e, portanto, diminuem os tempos de resposta do nrpe.
A correção é adicionar --retry 10
ou não à invocação destart-stop-daemon ... --stop ...
obrigado