litellm/tests/test_litellm/router_strategy
devin-ai-integration[bot] 95b438013a
fix(router): fall back from unhealthy auto-router tier (#40757)
* fix(router): fall back from unhealthy auto-router tier

Co-Authored-By: Claude Code <noreply@anthropic.com>
(cherry picked from commit 00c7fd8376)

* fix(router): treat budget and tag exhaustion as a no-capacity verdict

The eligibility probe only read typed router errors as "nothing here can
serve this". Provider and deployment budget exhaustion, and tag routing
with no matching deployment, report it as a bare ValueError carrying a
RouterErrors marker, so the probe read a spent tier as live, skipped the
peer and default recovery, and failed the request.

---------

Co-authored-by: Tin Chi Lo <tin@berri.ai>
Co-authored-by: Claude Code <noreply@anthropic.com>
2026-09-11 11:51:55 -07:00
..
adaptive_router fix(router): fall back from unhealthy auto-router tier (#40757) 2026-09-11 11:51:55 -07:00
test_auto_router.py address review: trim remaining comment verbosity 2026-09-05 15:43:03 -07:00
test_base_routing_strategy.py fix(router): keep the routing and budget sync loops quiet while the Redis breaker is open 2026-09-10 19:15:40 -07:00
test_budget_limiter_hotpath.py fix(router): keep the budget push off the request callback path 2026-09-10 19:26:28 -07:00
test_complexity_router.py fix(router): fall back from unhealthy auto-router tier (#40757) 2026-09-11 11:51:55 -07:00
test_complexity_tier_predictor.py feat(router): add heuristic v2 complexity routing (#39276) 2026-09-02 23:33:04 +00:00
test_lar1_routing.py chore: litellm oss staging (#31185) 2026-06-26 09:17:44 -07:00
test_least_busy.py fix(redis): log an open circuit breaker once instead of a traceback per request and count sync timeouts as timeouts 2026-09-10 13:50:34 -07:00
test_litellm_encoder.py fix: address cross-version CI failures 2026-09-02 14:17:19 -07:00
test_lowest_cost.py fix(router): give cost-based routing its own cache key so it stops overwriting latency samples (#40225) 2026-09-08 13:56:06 -07:00
test_lowest_latency.py feat(router): support percentile-based TTFT routing (#40352) 2026-09-09 10:47:34 -07:00
test_quality_router.py test: drop the cwd-relative sys.path.insert calls from the test suite (#37802) 2026-08-22 09:25:58 -07:00
test_router_routing_groups.py fix(router): keep per-request routing_strategy override selectors out of global callbacks (#40229) 2026-09-08 13:54:05 -07:00
test_router_routing_plugins.py fix(router): let prompt-management plugins see the caller's own messages 2026-09-06 02:44:45 -07:00
test_router_tag_regex_routing.py test: drop the cwd-relative sys.path.insert calls from the test suite (#37802) 2026-08-22 09:25:58 -07:00
test_router_tag_routing.py fix(router): keep deployment tags out of retry and fallback tag routing (#40226) 2026-09-08 21:15:36 +00:00
test_savings_baseline.py fix(router): drop a tier param the routed target cannot take (#38622) 2026-08-28 14:17:49 -07:00
test_simple_shuffle.py fix(router): let simple-shuffle weight by any deployment's weight/rpm/tpm (#40222) 2026-09-08 13:55:36 -07:00
test_stall_detector.py fix(router): anchor stall detection on the newest tool call 2026-09-04 16:03:20 -07:00