From fb50c5714cb6b16fd0dd4fa3134f043f156645bb Mon Sep 17 00:00:00 2001 From: moe-berri Date: Sat, 7 Nov 2026 12:16:12 +0800 Subject: [PATCH] fix(alerts): isolate optional flush tracking failures --- litellm/repositories/usage_alert_health.py | 2 +- tests/unit/proxy/test_proxy_server_endpoints_and_startup.py | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/litellm/repositories/usage_alert_health.py b/litellm/repositories/usage_alert_health.py index 178f515895f..646aa0421c0 100644 --- a/litellm/repositories/usage_alert_health.py +++ b/litellm/repositories/usage_alert_health.py @@ -87,8 +87,8 @@ class UsageAlertFlushRecorder: prior: Final = self._user_hour if source == "user" else self._team_hour if prior == hour: return - database: Final = cast(MetricsDatabase, prisma_client.writer_db) # cast-ok: generated Prisma delegate try: + database: Final = cast(MetricsDatabase, prisma_client.writer_db) # cast-ok: generated Prisma delegate if not await UsageAlertHealthRepository(database).record(source, now): return except Exception: # noqa: BLE001 # observability must not fail or requeue a committed spend flush diff --git a/tests/unit/proxy/test_proxy_server_endpoints_and_startup.py b/tests/unit/proxy/test_proxy_server_endpoints_and_startup.py index 1cfb14e6bf9..ac07931afb5 100644 --- a/tests/unit/proxy/test_proxy_server_endpoints_and_startup.py +++ b/tests/unit/proxy/test_proxy_server_endpoints_and_startup.py @@ -1656,6 +1656,8 @@ class MockPrisma: self.database_url = database_url self.proxy_logging_obj = proxy_logging_obj self.http_client = http_client + self.writer_db = MagicMock() + self.writer_db.litellm_config.find_unique = AsyncMock(return_value=None) async def connect(self): pass