mirror of
https://github.com/BerriAI/litellm.git
synced 2026-09-10 22:41:41 +00:00
invalidate reservations after release cleanup failure
This commit is contained in:
parent
719e891c3a
commit
8311456cfc
2 changed files with 21 additions and 1 deletions
|
|
@ -443,6 +443,14 @@ async def _update_database_and_spend_counters(
|
|||
verbose_proxy_logger.exception(
|
||||
"Failed to release budget reservation after database update failed"
|
||||
)
|
||||
try:
|
||||
await _invalidate_budget_reservation_counters(
|
||||
budget_reservation=budget_reservation
|
||||
)
|
||||
except Exception:
|
||||
verbose_proxy_logger.exception(
|
||||
"Failed to invalidate budget reservation counters after release failed"
|
||||
)
|
||||
raise
|
||||
|
||||
try:
|
||||
|
|
|
|||
|
|
@ -338,6 +338,11 @@ async def test_update_database_and_spend_counters_preserves_db_exception_when_re
|
|||
patch(
|
||||
"litellm.proxy.hooks.proxy_track_cost_callback.verbose_proxy_logger.exception",
|
||||
) as mock_log_exception,
|
||||
patch(
|
||||
"litellm.proxy.hooks.proxy_track_cost_callback._invalidate_budget_reservation_counters",
|
||||
new_callable=AsyncMock,
|
||||
side_effect=RuntimeError("invalidate unavailable"),
|
||||
) as mock_invalidate_budget_reservation_counters,
|
||||
):
|
||||
with pytest.raises(RuntimeError) as exc_info:
|
||||
await _update_database_and_spend_counters(
|
||||
|
|
@ -360,9 +365,16 @@ async def test_update_database_and_spend_counters_preserves_db_exception_when_re
|
|||
mock_release_budget_reservation.assert_awaited_once_with(
|
||||
budget_reservation=budget_reservation,
|
||||
)
|
||||
mock_log_exception.assert_called_once_with(
|
||||
mock_invalidate_budget_reservation_counters.assert_awaited_once_with(
|
||||
budget_reservation=budget_reservation,
|
||||
)
|
||||
assert mock_log_exception.call_count == 2
|
||||
mock_log_exception.assert_any_call(
|
||||
"Failed to release budget reservation after database update failed"
|
||||
)
|
||||
mock_log_exception.assert_any_call(
|
||||
"Failed to invalidate budget reservation counters after release failed"
|
||||
)
|
||||
|
||||
increment_spend_counters.assert_not_awaited()
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue