INCIDENTE: Serviço cai em produção; investigação conclui que o código estava certo e o horário, errado
Quatro horas de investigação, dois dashboards abertos e uma chamada de emergência terminaram com a descoberta de que o relógio do servidor estava três minutos adiantado desde o último reinício.
- incidente
- ntp
- infraestrutura
- relogio
aviso: Isto é sátira. Nomes, empresas e telemetrias são inventados. Qualquer semelhança com o seu ambiente é um problema seu.
O incidente começou às 02h14 e terminou às 06h31. Segundo o relatório pós-incidente, o código responsável pela rotina de fechamento estava correto, os testes automatizados cobriam o caso, e o banco de dados se comportou "de forma exemplar".
O problema era o relógio.
O servidor em questão apresentava três minutos e quarenta e dois segundos de adiantamento desde o último reinício, ocorrido onze dias antes. Esse intervalo foi suficiente para que a janela de processamento se sobrepusesse a outra janela, processando dois lotes em ordem invertida — e a ordem, nesse caso, importava muito.
"Passamos quatro horas procurando no lugar errado, que é o lugar onde sempre procuramos", afirmou o responsável pela investigação. "O código era a parte honesta do sistema. O relógio era a parte criativa."
A sincronização de horário do servidor foi restaurada e um monitoramento de desvio de relógio foi adicionado, com alerta a partir de dois segundos. O time informou que o mesmo desvio já havia sido observado em outras ocasiões, mas nunca com sintoma visível, "o que é o pior tipo de problema".
O relatório final foi encerrado com uma recomendação de uma linha: "verificar o relógio antes de verificar o código".
Sátira. Incidentes inventados a partir de uma causa real e constrangedora: relógio dessincronizado.