disable retry for eot errors#6195
Conversation
| f"{msg.error.message}", | ||
| status_code=msg.error.code, | ||
| request_id=msg.request_id, | ||
| retryable=False, | ||
| ) |
There was a problem hiding this comment.
🚩 Behavioral change: 5xx and transient errors from EOT server are no longer retried
Previously, without explicit retryable=False, APIStatusError.__init__ would default to retryable=True for any status code outside the 400-499 range (excluding 408/429/499). This means server-sent errors with codes like 500 (Internal Server Error) or 503 (Service Unavailable) would have been retried by the run() loop at line 273-295. With this change, ALL server-sent error messages — regardless of their status code — are now non-retryable. If msg.error.code uses gRPC-style codes (0-16) rather than HTTP codes, previously all such errors would have been retried; now none will be. The commit message confirms this is intentional, but it's worth verifying that transient server-side issues won't cause permanent failures for end users.
(Refers to lines 264-269)
Was this helpful? React with 👍 or 👎 to provide feedback.
* upstream/main: (382 commits) chore(dep): update local-inference dep (livekit#6214) fix(agents): keep STT input anchor on the pipeline across handoff (livekit#6207) fix(google): clean up STT input frame task (livekit#6193) (xai realtime): set text modality (livekit#6198) chore(example): update otel trace example (livekit#6178) chore(elevenlabs): update `language_code` doc to remove error case (livekit#6197) disable eot connection error retry too (livekit#6196) chore(deps): update livekit dependency (livekit#6194) disable retry for eot errors (livekit#6195) [email protected] (livekit#6189) (assembly ai): add inference params (livekit#6185) fix(eot): restore timeout behavior for eot inference (livekit#6188) fix(google): reject tool calls when tool_choice="none" in realtime (livekit#6166) fix(slng): expose speed in update_options (livekit#6175) [email protected] (livekit#6170) feat(phonic): handle user text input (livekit#6169) docs(phonic): add forbid_speech_after_tool_call to README config table (livekit#6168) (inference): add assembly ai model (livekit#6162) (google): surface context exhaustion error (livekit#6144) (phonic): reuse ws connection across handoffs (livekit#6163) ...
No description provided.