- Ya
- 22 Julai 2026, 18:02 UTC
- Mwandishi
- Kamo
- Ahadi ya
- 3845553
The client field-initialized a bare `new RestTemplate()`, so no timeout applied on any AI call and no builder could reach it. A hung provider blocked the caller indefinitely — and PDF rate-sheet ingest made up to 12 sequential vision calls, previously inside an open database transaction. Connect 10s: this is an in-cluster ClusterIP hop, so a connection that will not be accepted means the service is down, not busy. Read 180s: transcribing a rendered 150-DPI page of a dense numeric grid is genuinely slow inference, and a seconds-scale timeout would abandon healthy reads and misreport them as "no provider answered" — while three minutes is past the real slow tail, so anything beyond it is a hung provider rather than a slow one. Kept as a static factory in the field initializer, so the no-arg construction used by callers and tests is unchanged and no version bump is needed.