Skip to content
Latchkey

O Que É uma Instabilidade de Rede em CI? Explicação

Uma instabilidade de rede é uma falha breve e transitória de conectividade, uma conexão derrubada ou uma falha momentânea de DNS, que atrapalha um step de CI e depois se resolve sozinha.

Jobs de CI acessam a rede constantemente: clonando repositórios, instalando pacotes, puxando imagens, chamando APIs. Redes não são perfeitamente confiáveis, então ocasionalmente uma dessas chamadas falha por um momento. Essa falha breve, a instabilidade, é uma das causas transitórias mais comuns de builds vermelhos.

Como uma instabilidade se parece

  • Conexão resetada ou recusada (ECONNRESET, ECONNREFUSED) no meio de um download.
  • Uma consulta de DNS que falha brevemente (EAI_AGAIN, erros de getaddrinfo).
  • Um handshake TLS que dá timeout contra um host que de resto está saudável.
  • Um read timeout em uma requisição que normalmente completa instantaneamente.

Por que instabilidades acontecem

Perda transitória de pacotes, uma rota oscilando, um link momentaneamente saturado, um load balancer a montante reciclando uma conexão, tudo isso produz falhas breves. A palavra-chave é breve: o caminho subjacente está bem, ele só teve um mau momento quando seu job por acaso chamou.

Por que um retry geralmente funciona

Como uma instabilidade é, por definição, momentânea, a mesma requisição um segundo depois normalmente passa. Isso torna instabilidades de rede a falha transitória de manual: as entradas eram válidas, seu código estava correto, e apenas o tempo na rede causou a falha.

Instabilidade vs queda

Uma instabilidade é uma interrupção breve que se resolve sozinha; uma queda é uma interrupção sustentada. Um retry resolve uma instabilidade, mas não consegue resolver uma queda em curso, então retries devem ser limitados com backoff. Se os retries continuam falhando, você provavelmente está diante de uma queda real, não de uma instabilidade.

A perspectiva da Latchkey

Instabilidades de rede são um alvo primordial dos managed runners com autocorreção da Latchkey: a plataforma detecta falhas transitórias de rede e automaticamente faz retry do job afetado, de modo que uma instabilidade isolada durante um clone, install ou pull de imagem não faça seu build falhar.

Principais conclusões

  • Uma instabilidade de rede é uma falha breve e transitória de conectividade que se resolve sozinha.
  • Ela aparece como conexões resetadas, falhas de DNS ou timeouts de handshake.
  • Como é momentânea, um retry geralmente passa.
  • Uma instabilidade difere de uma queda sustentada, que retries não conseguem resolver.

Guias relacionados