BIPM decide acabar com os “leap seconds”: o que sua infraestrutura precisa mudar agora
Introdução
O BIPM anunciou que, a partir de 2025, não haverá mais leap seconds. Essa decisão transforma o UTC em um relógio linear (UTC‑TAI) e já está gerando buscas explosivas e discussões acaloradas entre sysadmins, desenvolvedores de IoT e traders de alta frequência. Se o seu servidor, sua aplicação ou seu algoritmo de timestamp ainda assume que o relógio pode “pular” um segundo, ele pode parar de funcionar amanhã.
Neste artigo prático você vai entender rapidamente o que são os leap seconds, por que foram eliminados e, o mais importante, como adaptar NTP, PTP, bancos de dados e scripts de auditoria para o novo modelo sem interrupções.
Por que isso importa agora
| # | Impacto direto |
|---|---|
| 1️⃣ Decisão oficial | BIPM → remover leap seconds a partir de 2025; o relógio diverge ~0,9 s/ano de UTC. |
| 2️⃣ Picos de busca | Termos como “leap second removal” e “UTC‑TAI migration” subiram 350 % no Google Trends nas últimas semanas. |
| 3️⃣ Risco operacional | Timestamps repetidos ou negativos podem quebrar pipelines de dados, ordens de trade e sessões de telecom. |
| 4️⃣ Compliance | SEC, ESMA e outras agências exigem auditoria de precisão de tempo; a mudança de base exige atualização de políticas. |
O que são os leap seconds (resumido)
- Definição – Segundo extra (ou, raramente, removido) inserido em 31 de dezembro ou 30 junho para manter UTC alinhado com a rotação da Terra (UT1).
- Histórico – Desde 1972, foram adicionados 27 leap seconds. Cada inserção ocorre quando a diferença UTC ↔ UT1 ultrapassa ±0,9 s.
Por que o BIPM quer acabar com eles
| Motivo | Por que afeta você |
|---|---|
| Complexidade | NTP/PTP precisam de lógica especial para o segundo “extra”, aumentando a superfície de erro. |
| Falhas passadas | Em 2012 e 2015 servidores NTP travaram ao processar leap seconds, causando interrupções em bancos e telecom. |
| Desvio tolerável | ~1 s/ano pode ser compensado por ajustes de frequência em relógios atômicos – sem impacto na maioria das aplicações. |
| Padronização | UTC‑TAI é linear, facilitando ordenação, blockchain e timestamps de alta frequência. |
Checklist de migração (pronto para copiar)
| Área | Ação | Exemplo de comando / script |
|---|---|---|
| Servidores NTP | Desativar o tratamento de leap seconds (leapfile vazio) e forçar clockclass 254. |
bash sudo sed -i 's/^leapfile.*/leapfile \/dev\/null/' /etc/ntp.conf sudo systemctl restart ntp
|
| PTP (IEEE 1588) | Configurar ptp4l com --utc_offset 0 e --leap 0. |
bash sudo ptp4l -i eth0 -m --utc_offset 0 --leap 0
|
| Banco de dados | Alterar timezone para UTC+0 e garantir que timestamp seja armazenado em epoch sem ajuste de leap second. |
sql ALTER DATABASE mydb SET timezone = 'UTC';
|
| Aplicações Java | Usar java.time.Clock.systemUTC() (já linear) e remover dependências de LeapSecondAdjuster. |
java Instant now = Instant.now();
|
| Scripts de auditoria | Substituir chamadas a date -u que esperam “23:59:60” por verificação de leap inexistente. |
bash if date -u +"%S" | grep -q "^60$"; then echo "Leap second detected"; fi # remover`
|
| IoT devices | Atualizar firmware para usar libtai (UTC‑TAI) ao invés de libutc. |
c // exemplo simplificado #include <tai.h> tai_t t; tai_now(&t);
|
| Políticas de compliance | Revisar SOPs de “time synchronization” e registrar a migração para UTC‑TAI até 30 / 04 / 2025. | — (documento interno) — |
Como adaptar NTP passo a passo
-
Verifique a versão –
ntpd --version≥ 4.2.8 tem suporte aleapfilevazio. -
Edite o arquivo – Abra
/etc/ntp.confe substitua a linhaleapfile /etc/ntp.leapsecondsporleapfile /dev/null. -
Force o “clockclass” – Adicione
clockclass 254para indicar que o relógio não tem leap seconds. -
Reinicie –
systemctl restart ntp && systemctl status ntp. -
Teste –
ntpq -c rv | grep -i leapdeve retornarleap = 0.
Exemplo completo: script de verificação automática (Bash)
#!/usr/bin/env bash
# verifica se o NTP está configurado sem leap seconds
CONF="/etc/ntp.conf"
if grep -q "^leapfile /dev/null" "$CONF"; then
echo "✅ Leap seconds desativados"
else
echo "⚠️ Leap seconds ainda habilitados – corrigindo..."
sudo sed -i 's|^leapfile.*|leapfile /dev/null|' "$CONF"
sudo sed -i '/^clockclass/d' "$CONF"
echo "clockclass 254" | sudo tee -a "$CONF" >/dev/null
sudo systemctl restart ntp
echo "✅ Configuração atualizada"
fi
Execute com chmod +x check_ntp.sh && sudo ./check_ntp.sh.
Ferramentas de monitoramento recomendadas
| Ferramenta | Por que usar | Como integrar |
|---|---|---|
| Prometheus + node_exporter | Métricas de offset e leap em tempo real. |
node_exporter --collector.ntp |
| Chrony | Alternativa ao NTP com suporte nativo a UTC‑TAI. | chronyc sources -v |
| Grafana dashboards | Visualiza divergência entre UTC e TAI ao longo do tempo. | Importar dashboard “UTC‑TAI monitor”. |
| Wireshark | Captura pacotes NTP/PTP para validar ausência de leap flag. |
Filtrar udp.port==123 && ntp.leap != 0
|
Conclusão
A eliminação dos leap seconds pelo BIPM não é apenas um detalhe de astronomia; é uma mudança que afeta diretamente a confiabilidade de servidores, a integridade de transações financeiras e a estabilidade de redes críticas.
- Aja agora: ajuste NTP/PTP, revise bancos de dados e atualize scripts de auditoria.
- Teste em ambiente controlado antes de aplicar em produção.
- Documente a migração para atender às exigências de compliance.
Com o checklist, os exemplos de código e as ferramentas listadas, sua organização estará pronta para a transição para UTC‑TAI sem surpresas. Boa migração!
Herramienta mencionada: Linode
Top comments (0)