- शिप
- 23 सितंबर 2026 को 10:18 am बजे UTC
- लेखक
- Kamo
- Commit
- eb9cc3b
दोनों RestTemplate बीन्स एक नंगे JdkClientHttpRequestफैक्टरी से बनाया गया था सभी में कोई टाइमआउट नहीं है। एक अपस्ट्रीम जो कनेक्शन को स्वीकार करता है और फिर कभी जवाब नहीं - एक Wedged फली, एक deadlock - पार्क एक प्रवेश द्वार पर वह सॉकेट हमेशा के लिए; उनमें से पर्याप्त फिनाइट टॉमकैट थ्रेड पूल को बाहर निकालता है मंच के एकल / एपीआई / * chokepoint के पीछे और हर जगह नीचे ले लो किरायेदार, न केवल धीमी गति से मार्ग के कॉलर। कनेक्ट टाइमआउट 5s है: अपस्ट्रीम सर्विस हमेशा क्लस्टर में मौजूद है, इसलिए एक तब तक स्थापित नहीं होने का मतलब यह है कि इसके पीछे का पोड चला गया है। पढ़ें टाइमआउट एक प्रति निश्चित मान के बजाय वैश्विक 120s है - इस वर्ग में है आज कोई प्रति रूट रेस्टटेम्पलेट नहीं, खतरा (एक अपस्ट्रीम जो कभी कभी नहीं) उत्तर) उपसर्ग की परवाह किए बिना, और 120s आराम से कवर सबसे कम वैध इस गेटवे फॉरवर्ड्स को कॉल करता है /api/docs और /api/media, AI chat, billing exports). Traefik के अपने भीतर टाइमआउट का जवाब देना 3600 है, इसलिए इस कॉल से पहले कुछ भी नहीं था कभी भी किसी भी तरह से 120s से कम एक अनुरोध को काट दिया जाता है। RestTemplateTimeoutTest एक वास्तविक सॉकेट ड्राइव करता है जो टीसीपी स्वीकार करता है कनेक्शन और फिर कभी जवाब नहीं लिखते हैं, एक लघु टाइमआउट का उपयोग करते हुए वास्तविक 120s की जगह इसलिए परीक्षण स्वयं सूट लटका नहीं सकता, और ग्राहक अपने आप को देता है। नंगे कारखाने में लौटना अंतर्निहित कॉल को JUnit के अपने प्रीपेडटिव 3s गार्ड के पास लटका देता है, जो वास्तव में असफलता मोड है।.
