Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
[Bug fix] Reset Budget Job
Fixes #8364
Details of the issue
isinstance(result, LiteLLM_TeamTable)
if resetting the budget of a team, but the result was of typeprisma.LiteLLM_TeamTable
and hence returnedNone
return result if isinstance(result, LiteLLM_TeamTable) else None
5 Whys Analysis for this issue
Why was the budget not being reset for keys, users, and teams?
→ The function responsible for resetting budgets was returning None instead of the updated item.
Why was the function returning None?
→ The check isinstance(result, LiteLLM_TeamTable) failed because result was of type prisma.LiteLLM_TeamTable.
Why was there a mismatch in types (LiteLLM_TeamTable vs. prisma.LiteLLM_TeamTable)?
→ The code expected LiteLLM_TeamTable, but prisma.LiteLLM_TeamTable was returned due to how Prisma ORM generated the models.
Why was this type mismatch not caught earlier?
→ There were no end-to-end (E2E) tests validating the cron job execution, so the issue was not detected during testing on ci/cd. We only had unit tests around this
Why were there no E2E tests for this scenario?
→ The initial focus was on unit tests + adding better error logging rather than full workflow validation, leading to a gap in coverage. We have now added a test to validate full workflow coverage for keys, users, teams
Relevant issues
Pre-Submission checklist
Please complete all items before asking a LiteLLM maintainer to review your PR
tests/litellm/
directory, Adding at least 1 test is a hard requirement - see detailsmake test-unit
)[https://docs.litellm.ai/docs/extras/contributing_code]Type
🐛 Bug Fix
✅ Test
Changes