litellm/tests/test_litellm/rust_bridge
yassin 555e321cf1 fix(router): record flat retry attempts and cap retries from attempted_retries
Router.log_retry used to copy the failed attempt's kwargs and metadata into
metadata.previous_models. Nothing downstream read those copies, but they carried
client credentials into spend logs and grew the payload on every retry. Each
attempt now leaves a flat record (model group, deployment id, exception type and
string, attempt number), which drops RETRY_BREADCRUMB_EXCLUDED_KWARGS and the
per-retry credential masking.

num_retries_per_request was enforced from len(previous_models), which only
looked at the metadata bucket and never exceeded four records. The sync and
async client wrappers and the Rust lifecycle guard now read attempted_retries
from whichever metadata bucket the call carries.

Resolves LIT-7505

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-13 01:05:51 +00:00
..
native_route_wheel_test.py feat(ocr): add Azure Document Intelligence adapter (#40534) 2026-09-11 16:22:55 -07:00
test_bindings.py Merge pull request #39334 from BerriAI/litellm_rust_opt_in_configuration 2026-09-02 16:26:36 -07:00
test_chat_completions.py refactor(rust): remove per-request enablement arguments (#39928) 2026-09-07 10:43:45 -07:00
test_configuration.py refactor(ocr): complete native lifecycle and preserve Azure auth (#40734) 2026-09-12 11:56:49 -07:00
test_lifecycle.py fix(router): record flat retry attempts and cap retries from attempted_retries 2026-09-13 01:05:51 +00:00
test_ocr_lifecycle.py refactor(ocr): complete native lifecycle and preserve Azure auth (#40734) 2026-09-12 11:56:49 -07:00
test_runtime.py Merge pull request #39334 from BerriAI/litellm_rust_opt_in_configuration 2026-09-02 16:26:36 -07:00
test_token_counter.py feat(rust): count tiktoken cl100k_base admission tokens in Rust (#40777) 2026-09-11 23:47:05 +00:00
test_verify_linux_native_wheel.py test(build): keep wheel checks outside package 2026-09-02 12:16:25 -07:00