teknium1
02a4d66951
fix(auxiliary): retry transient transport error once before fallback ( #16587 )
...
A one-off transient transport failure (streaming-close / incomplete
chunked read / 5xx / 408) on an auxiliary LLM call escalated straight to
provider/model fallback (or, for context compression, dropped the summary
and entered cooldown), even when an immediate retry on the same provider
would have succeeded.
Add a single same-target retry at the top of call_llm() and
async_call_llm() — before the existing except-chain — gated on a new
_is_transient_transport_error() that reuses the canonical
_is_connection_error() detector plus a 5xx/408 status check. A second
failure (or any non-transient error: auth, other 4xx, malformed payload)
falls through to first_err and the existing fallback handling unchanged.
This lives in call_llm so every auxiliary task (compression, memory flush,
title generation, session search, vision) shares one transient-retry
surface, rather than each caller re-implementing it. The context
compressor needs no change — it calls call_llm and inherits the retry; its
existing fallback-to-main path (#18458 ) now composes naturally (retry the
aux model once, then fall back to main only if the retry also fails).
Co-authored-by: ARegalado1 <alberto.regalado@ymail.com>
2026-06-08 01:05:45 -07:00
..
2026-05-30 02:08:36 -07:00
2026-06-05 03:53:59 -07:00
2026-02-26 13:54:20 +03:00
2026-05-31 06:14:34 -07:00
2026-05-28 22:26:25 -07:00
2026-05-28 22:26:25 -07:00
2026-05-29 01:23:06 -07:00
2026-06-07 01:40:50 -07:00
2026-05-28 22:26:25 -07:00
2026-04-19 22:43:09 -07:00
2026-05-28 22:26:25 -07:00
2026-05-29 00:28:02 -07:00
2026-06-08 01:05:45 -07:00
2026-05-28 22:26:25 -07:00
2026-05-28 22:26:25 -07:00
2026-05-28 22:26:25 -07:00
2026-04-28 06:50:14 -07:00
2026-06-07 02:02:40 -07:00
2026-05-28 22:26:25 -07:00
2026-05-18 10:14:38 -07:00
2026-05-28 22:26:25 -07:00
2026-05-28 22:26:25 -07:00
2026-05-28 22:26:25 -07:00
2026-05-28 22:26:09 -07:00
2026-05-29 02:02:25 -07:00
2026-04-14 01:43:45 -07:00
2026-06-07 22:06:48 -07:00
2026-06-07 22:30:02 -07:00
2026-05-16 17:18:25 -07:00
2026-05-28 22:26:25 -07:00
2026-06-07 22:09:45 -07:00
2026-05-27 22:14:53 -07:00
2026-06-07 08:36:45 -07:00
2026-06-07 01:56:51 -07:00
2026-05-28 22:26:25 -07:00
2026-05-28 22:26:25 -07:00
2026-04-20 01:56:41 -07:00
2026-04-29 20:05:32 -07:00
2026-05-16 02:24:48 -07:00
2026-04-19 18:12:55 -07:00
2026-05-29 02:24:48 -07:00
2026-06-06 13:18:18 +05:30
2026-06-06 13:18:18 +05:30
2026-06-06 13:18:18 +05:30
2026-06-06 13:18:18 +05:30
2026-05-28 22:26:25 -07:00
2026-04-30 10:31:47 -07:00
2026-05-02 01:29:57 -07:00
2026-05-10 06:44:53 -07:00
2026-05-28 22:26:25 -07:00
2026-06-07 22:23:29 -07:00
2026-05-21 07:48:53 -07:00
2026-06-07 21:50:57 -07:00
2026-05-17 02:29:41 -07:00
2026-04-20 22:14:29 -07:00
2026-03-15 20:21:21 -07:00
2026-05-28 22:26:25 -07:00
2026-05-28 22:26:25 -07:00
2026-05-28 22:26:25 -07:00
2026-05-28 07:28:24 -07:00
2026-05-28 22:26:25 -07:00
2026-05-28 22:26:25 -07:00
2026-06-02 14:03:37 +10:00
2026-05-25 03:40:47 -07:00
2026-05-28 22:26:25 -07:00
2026-06-02 11:29:24 +10:00
2026-05-28 22:26:25 -07:00
2026-05-28 22:26:25 -07:00
2026-05-18 20:04:57 -07:00
2026-05-28 22:26:25 -07:00
2026-06-05 03:53:59 -07:00
2026-04-24 03:40:00 -07:00
2026-06-03 12:00:27 -07:00
2026-04-21 21:30:10 -07:00
2026-05-28 22:26:25 -07:00
2026-06-07 18:33:20 -07:00
2026-05-28 00:20:11 -07:00
2026-04-29 06:35:42 -07:00
2026-05-23 17:38:19 -07:00
2026-06-05 10:18:10 +10:00
2026-05-11 16:49:13 -07:00
2026-06-04 05:35:43 -07:00
2026-05-28 22:26:25 -07:00
2026-05-28 22:26:25 -07:00
2026-04-07 22:23:28 -07:00
2026-06-04 05:53:35 -07:00
2026-05-28 22:26:25 -07:00
2026-04-24 03:00:33 -07:00
2026-06-07 21:50:57 -07:00
2026-05-29 23:45:05 -07:00
2026-05-31 17:46:56 -05:00
2026-05-28 22:26:25 -07:00
2026-06-06 13:18:18 +05:30
2026-06-06 13:18:18 +05:30
2026-06-04 01:19:28 +05:30
2026-04-26 04:53:42 -07:00
2026-06-07 08:36:48 -07:00
2026-05-05 10:13:34 -07:00
2026-05-28 22:26:25 -07:00
2026-05-12 20:49:20 -07:00
2026-06-01 16:55:04 -07:00
2026-05-28 22:26:25 -07:00
2026-04-21 05:52:46 -07:00
2026-05-28 22:26:25 -07:00
2026-05-30 20:48:41 -07:00
2026-05-30 07:29:21 -07:00
2026-06-02 20:23:09 +00:00
2026-05-24 18:10:47 -07:00
2026-05-30 02:38:59 -07:00
2026-05-28 22:26:25 -07:00
2026-05-28 22:26:25 -07:00
2026-05-28 22:26:25 -07:00
2026-04-29 21:07:47 -07:00
2026-05-21 16:40:04 +05:30
2026-05-21 19:08:38 -07:00
2026-05-18 10:53:08 -07:00
2026-05-28 22:26:25 -07:00
2026-04-20 20:53:51 -07:00
2026-05-28 22:26:25 -07:00
2026-05-30 07:29:21 -07:00
2026-05-17 23:20:37 -07:00
2026-06-01 16:55:04 -07:00
2026-05-05 04:33:38 -07:00
2026-05-28 22:26:25 -07:00
2026-05-25 14:52:24 -07:00
2026-05-19 00:12:12 -07:00
2026-05-13 06:46:23 -07:00
2026-05-25 01:41:19 -07:00
2026-05-24 18:04:54 -07:00
2026-06-07 22:17:35 -07:00
2026-06-07 22:42:05 -07:00
2026-05-08 14:55:40 -07:00
2026-05-29 17:24:30 -07:00
2026-05-27 00:43:32 -07:00
2026-05-13 16:39:41 -07:00
2026-05-04 05:05:43 -07:00
2026-05-24 15:01:28 -07:00