Skip to content
Latchkey

O Que É um Timeout de Registry? Explicação

Um timeout de registry é quando um registry de pacotes ou containers não responde a tempo durante uma operação de CI, então um install, restore ou pull de imagem é abortado.

Quase todo job de CI depende de um registry: npm, PyPI, Maven Central, um registry Docker, um registry de providers do Terraform. Esses são serviços compartilhados e altamente carregados, e quando um está lento ou brevemente degradado, seu job dá timeout esperando por ele. O build falha por uma razão inteiramente fora do seu código.

O que é um timeout de registry

Um timeout ocorre quando o registry não responde dentro do limite de tempo do cliente. Em vez de dados, você recebe uma requisição abortada: um read timeout, um connection timeout ou um handshake lento. A dependência de que você precisava nunca chegou, então o step falha.

Por que registries dão timeout

  • Registries compartilhados ficam sobrecarregados nos horários de pico.
  • Uma degradação breve ou incidente parcial do lado do registry.
  • Latência de rede ou uma instabilidade entre seu runner e o registry.
  • Artifacts grandes que excedem um timeout de cliente apertado demais sob carga.

Como ele aparece

Você vê ETIMEDOUT, read timeouts, respostas 5xx ou erros de "request canceled" de package managers e pulls de imagem. O fio condutor é que a falha é sobre alcançar ou esperar pelo registry, não sobre seu código ou dependências estarem errados.

Por que retries o recuperam

Timeouts de registry são tipicamente transitórios: o registry se recupera, a rede se acalma ou a carga de pico passa. Rodar o mesmo install ou pull de novo, idealmente com backoff, geralmente passa. Cache e mirrors reduzem ainda mais a dependência do registry ao vivo a cada execução.

A perspectiva da Latchkey

Timeouts de registry são uma falha transitória central que os managed runners com autocorreção da Latchkey detectam e automaticamente fazem retry, de modo que um registry lento ou degradado de forma isolada durante a instalação de dependências ou o pull de imagem não faça seu build falhar.

Principais conclusões

  • Um timeout de registry é um registry respondendo lento demais durante a CI.
  • Sobrecarga, degradação breve e latência de rede são causas comuns.
  • Ele aparece como ETIMEDOUT, read timeouts ou 5xx em installs e pulls.
  • Ele é transitório; retries com backoff (e cache) o recuperam.

Guias relacionados