fix(agent): classify 'overloaded' messages as server overload, not rate_limit

Closes #14038
This commit is contained in:
pander 2026-04-23 09:18:47 +08:00
parent 620e29fd93
commit a814b20178

View file

@ -773,6 +773,14 @@ def _classify_by_message(
should_fallback=True,
)
# Overloaded / server-busy patterns — must come BEFORE rate_limit check
# so that "overloaded" messages don't incorrectly trigger credential rotation.
if any(p in error_msg for p in ("overloaded", "temporarily overloaded", "service is temporarily overloaded")):
return result_fn(
FailoverReason.overloaded,
retryable=True,
)
# Billing patterns
if any(p in error_msg for p in _BILLING_PATTERNS):
return result_fn(