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.