mirror of
https://github.com/block/buzz.git
synced 2026-08-18 06:50:31 +02:00
The streaming-timeout change rebound connect_timeout to cfg.llm_timeout (120s), so a dead endpoint blocked the TCP/TLS handshake for two minutes before failing — and connect is retried, compounding it. Connect time and inter-chunk stall time are different concerns; restore connect_timeout to a fixed 10s independent of llm_timeout. With the total request timeout removed, a connection reset mid-body became the main body-read failure and was hard-failing on the first occurrence. reqwest's chunk() surfaces a reset/truncated body as a decode error, so is_retryable_transport_error now treats is_decode() as retryable; the read-error arm mirrors the stall arm (backoff + resend, hard-fail on the final attempt). JSON-parse failures take the separate serde path and are unaffected. Co-authored-by: Will Pfleger <pfleger.will@gmail.com> Signed-off-by: Will Pfleger <pfleger.will@gmail.com>