You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[bug] combo Retry-After can quarantine a target effectively indefinitely #5686
On official v2.63.0, explicit provider Retry-After values can become authoritative combo cooldowns without a practical upper safety bound. A malformed numeric or HTTP-date value can effectively quarantine a target for an extremely long period. Expected: preserve legitimate server delays, including multi-hour windows, but apply a finite safety ceiling. A 24-hour cap preserves normal semantics while preventing pathological quarantine.
Reproduction
Configure a failover combo with at least two targets.
Make one target return a retryable failure with an extremely large numeric or HTTP-date Retry-After.
Observe the target cooldown derived from that server delay.
Compare with ordinary local fallback cooldowns, which are bounded separately.
A local patch caps only explicit server-delay preservation at 24 hours; short and multi-hour values remain authoritative.
No crash is required. The defect is the unbounded cooldown duration derived from a pathological Retry-After value.
Screenshots and supporting files
Locally validated with numeric and HTTP-date Retry-After regression coverage. The combined post-2.63 candidate passes the full native suite and static gates.
Fixed on dev by bundle #5741 (squash-merged as 893c81c); it will ship in the next release. Closing manually because dev is not the default branch, so GitHub does not auto-close. If you still see this on a build that includes 893c81c, please reopen with the version and a redacted reproduction.
Activity
github-actions commentedon Sep 23, 2026
Issue reopened
The report now contains the information required by the automated check. Thanks for updating it.
lidge-jun commentedon Sep 24, 2026
Fixed on
devby bundle #5741 (squash-merged as 893c81c); it will ship in the next release. Closing manually becausedevis not the default branch, so GitHub does not auto-close. If you still see this on a build that includes 893c81c, please reopen with the version and a redacted reproduction.