- Spegnimento
- 23 settembre 2026 alle ore 10:18 UTC
- Autore
- Kamo
- Impegno
- eb9cc3b
Entrambi i fagioli RestTemplate sono stati costruiti da un nudo JdkClientHttpRequestFactory senza tempo. Una a monte che accetta la connessione e poi non risponde mai -- un baccello cuneo, un deadlock -- parcheggiato un filo di gateway su quella presa per sempre; abbastanza di quei gas di scarico la piscina filettata Tomcat finito dietro il singolo /api/** chokepoint della piattaforma e abbattere ogni inquilino, non solo il chiamante del lento percorso. Collegare il timeout è 5s: il servizio a monte esiste sempre in-cluster, quindi un collegare non stabilito da allora significa che il baccello dietro di esso è andato. Leggi timeout è un 120s globale piuttosto che un valore per-prefisso -- questa classe ha no per-route RestTemplate oggi, la minaccia (un a monte che mai risposte) è lo stesso indipendentemente dal prefisso, e 120s copre comodamente più lento legittimo chiama questo gateway in avanti (grandi upload a /api/docs e /api/media, chat AI, vendite di fatturazione). L'ingresso di Traefik rispondereTimeouts.readTimeout è 3600s, quindi nulla davanti a questa chiamata era mai andando tagliare una richiesta più breve di 120s comunque. RestTemplateTimeoutTest guida una presa reale che accetta il TCP connessione e poi mai scrive una risposta, utilizzando un breve timeout in luogo dei veri 120s quindi il test stesso non può appendere la suite, e afferma che il cliente si arrende da solo. Ritornare alla fabbrica nuda rende la chiamata sottostante appeso oltre la guardia 3s di JUnit, che è esattamente la modalità di fallimento che questo risolve.
