litellm - 💡(How to fix) Fix ERROR: Application startup failed. Exiting. [1 comments, 1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
BerriAI/litellm#24763Fetched 2026-04-08 01:49:20
View on GitHub
Comments
1
Participants
1
Timeline
1
Reactions
0
Participants
Timeline (top)
commented ×1

Error Message

LiteLLM Proxy:ERROR: utils.py:2885 - Error getting LiteLLM_SpendLogs row count: Not connected to the query engine ERROR: Traceback (most recent call last):

Fix Action

Fix / Workaround

image: ghcr.io/berriai/litellm-non_root:main-v1.82.3-stable.patch.2

RAW_BUFFERClick to expand / collapse

image: ghcr.io/berriai/litellm-non_root:main-v1.82.3-stable.patch.2

LiteLLM Proxy:ERROR: utils.py:2885 - Error getting LiteLLM_SpendLogs row count: Not connected to the query engine ERROR: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/starlette/routing.py", line 694, in lifespan async with self.lifespan_context(app) as maybe_state: ~~~~~~~~~~~~~~~~~~~~~^^^^^ File "/usr/lib/python3.13/contextlib.py", line 214, in aenter return await anext(self.gen) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/fastapi/routing.py", line 134, in merged_lifespan async with original_context(app) as maybe_original_state: ~~~~~~~~~~~~~~~~^^^^^ File "/usr/lib/python3.13/contextlib.py", line 214, in aenter return await anext(self.gen) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/fastapi/routing.py", line 134, in merged_lifespan async with original_context(app) as maybe_original_state: ~~~~~~~~~~~~~~~~^^^^^ File "/usr/lib/python3.13/contextlib.py", line 214, in aenter return await anext(self.gen) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/fastapi/routing.py", line 134, in merged_lifespan async with original_context(app) as maybe_original_state: ~~~~~~~~~~~~~~~~^^^^^ File "/usr/lib/python3.13/contextlib.py", line 214, in aenter return await anext(self.gen) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/fastapi/routing.py", line 134, in merged_lifespan async with original_context(app) as maybe_original_state: ~~~~~~~~~~~~~~~~^^^^^ File "/usr/lib/python3.13/contextlib.py", line 214, in aenter return await anext(self.gen) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/fastapi/routing.py", line 134, in merged_lifespan async with original_context(app) as maybe_original_state: ~~~~~~~~~~~~~~~~^^^^^ File "/usr/lib/python3.13/contextlib.py", line 214, in aenter return await anext(self.gen) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/fastapi/routing.py", line 134, in merged_lifespan async with original_context(app) as maybe_original_state: ~~~~~~~~~~~~~~~~^^^^^ File "/usr/lib/python3.13/contextlib.py", line 214, in aenter return await anext(self.gen) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/fastapi/routing.py", line 134, in merged_lifespan async with original_context(app) as maybe_original_state: ~~~~~~~~~~~~~~~~^^^^^ File "/usr/lib/python3.13/contextlib.py", line 214, in aenter return await anext(self.gen) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/fastapi/routing.py", line 134, in merged_lifespan async with original_context(app) as maybe_original_state: ~~~~~~~~~~~~~~~~^^^^^ File "/usr/lib/python3.13/contextlib.py", line 214, in aenter return await anext(self.gen) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/fastapi/routing.py", line 134, in merged_lifespan async with original_context(app) as maybe_original_state: ~~~~~~~~~~~~~~~~^^^^^ File "/usr/lib/python3.13/contextlib.py", line 214, in aenter return await anext(self.gen) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/fastapi/routing.py", line 134, in merged_lifespan async with original_context(app) as maybe_original_state: ~~~~~~~~~~~~~~~~^^^^^ File "/usr/lib/python3.13/contextlib.py", line 214, in aenter return await anext(self.gen) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/fastapi/routing.py", line 134, in merged_lifespan async with original_context(app) as maybe_original_state: ~~~~~~~~~~~~~~~~^^^^^ File "/usr/lib/python3.13/contextlib.py", line 214, in aenter return await anext(self.gen) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/fastapi/routing.py", line 134, in merged_lifespan async with original_context(app) as maybe_original_state: ~~~~~~~~~~~~~~~~^^^^^ File "/usr/lib/python3.13/contextlib.py", line 214, in aenter return await anext(self.gen) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/fastapi/routing.py", line 134, in merged_lifespan async with original_context(app) as maybe_original_state: ~~~~~~~~~~~~~~~~^^^^^ File "/usr/lib/python3.13/contextlib.py", line 214, in aenter return await anext(self.gen) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/fastapi/routing.py", line 134, in merged_lifespan async with original_context(app) as maybe_original_state: ~~~~~~~~~~~~~~~~^^^^^ File "/usr/lib/python3.13/contextlib.py", line 214, in aenter return await anext(self.gen) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/fastapi/routing.py", line 134, in merged_lifespan async with original_context(app) as maybe_original_state: ~~~~~~~~~~~~~~~~^^^^^ File "/usr/lib/python3.13/contextlib.py", line 214, in aenter return await anext(self.gen) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/fastapi/routing.py", line 134, in merged_lifespan async with original_context(app) as maybe_original_state: ~~~~~~~~~~~~~~~~^^^^^ File "/usr/lib/python3.13/contextlib.py", line 214, in aenter return await anext(self.gen) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/fastapi/routing.py", line 134, in merged_lifespan async with original_context(app) as maybe_original_state: ~~~~~~~~~~~~~~~~^^^^^ File "/usr/lib/python3.13/contextlib.py", line 214, in aenter return await anext(self.gen) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/fastapi/routing.py", line 134, in merged_lifespan async with original_context(app) as maybe_original_state: ~~~~~~~~~~~~~~~~^^^^^ File "/usr/lib/python3.13/contextlib.py", line 214, in aenter return await anext(self.gen) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/fastapi/routing.py", line 134, in merged_lifespan async with original_context(app) as maybe_original_state: ~~~~~~~~~~~~~~~~^^^^^ File "/usr/lib/python3.13/contextlib.py", line 214, in aenter return await anext(self.gen) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/fastapi/routing.py", line 134, in merged_lifespan async with original_context(app) as maybe_original_state: ~~~~~~~~~~~~~~~~^^^^^ File "/usr/lib/python3.13/contextlib.py", line 214, in aenter return await anext(self.gen) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/fastapi/routing.py", line 134, in merged_lifespan async with original_context(app) as maybe_original_state: ~~~~~~~~~~~~~~~~^^^^^ File "/usr/lib/python3.13/contextlib.py", line 214, in aenter return await anext(self.gen) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/fastapi/routing.py", line 134, in merged_lifespan async with original_context(app) as maybe_original_state: ~~~~~~~~~~~~~~~~^^^^^ File "/usr/lib/python3.13/contextlib.py", line 214, in aenter return await anext(self.gen) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/fastapi/routing.py", line 134, in merged_lifespan async with original_context(app) as maybe_original_state: ~~~~~~~~~~~~~~~~^^^^^ File "/usr/lib/python3.13/contextlib.py", line 214, in aenter return await anext(self.gen) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/fastapi/routing.py", line 134, in merged_lifespan async with original_context(app) as maybe_original_state: ~~~~~~~~~~~~~~~~^^^^^ File "/usr/lib/python3.13/contextlib.py", line 214, in aenter return await anext(self.gen) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/fastapi/routing.py", line 134, in merged_lifespan async with original_context(app) as maybe_original_state: ~~~~~~~~~~~~~~~~^^^^^ File "/usr/lib/python3.13/contextlib.py", line 214, in aenter return await anext(self.gen) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/fastapi/routing.py", line 134, in merged_lifespan async with original_context(app) as maybe_original_state: ~~~~~~~~~~~~~~~~^^^^^ File "/usr/lib/python3.13/contextlib.py", line 214, in aenter return await anext(self.gen) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/fastapi/routing.py", line 134, in merged_lifespan async with original_context(app) as maybe_original_state: ~~~~~~~~~~~~~~~~^^^^^ File "/usr/lib/python3.13/contextlib.py", line 214, in aenter return await anext(self.gen) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/fastapi/routing.py", line 134, in merged_lifespan async with original_context(app) as maybe_original_state: ~~~~~~~~~~~~~~~~^^^^^ File "/usr/lib/python3.13/contextlib.py", line 214, in aenter return await anext(self.gen) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/fastapi/routing.py", line 134, in merged_lifespan async with original_context(app) as maybe_original_state: ~~~~~~~~~~~~~~~~^^^^^ File "/usr/lib/python3.13/contextlib.py", line 214, in aenter return await anext(self.gen) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/fastapi/routing.py", line 134, in merged_lifespan async with original_context(app) as maybe_original_state: ~~~~~~~~~~~~~~~~^^^^^ File "/usr/lib/python3.13/contextlib.py", line 214, in aenter return await anext(self.gen) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/fastapi/routing.py", line 134, in merged_lifespan async with original_context(app) as maybe_original_state: ~~~~~~~~~~~~~~~~^^^^^ File "/usr/lib/python3.13/contextlib.py", line 214, in aenter return await anext(self.gen) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/fastapi/routing.py", line 134, in merged_lifespan async with original_context(app) as maybe_original_state: ~~~~~~~~~~~~~~~~^^^^^ File "/usr/lib/python3.13/contextlib.py", line 214, in aenter return await anext(self.gen) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/fastapi/routing.py", line 134, in merged_lifespan async with original_context(app) as maybe_original_state: ~~~~~~~~~~~~~~~~^^^^^ File "/usr/lib/python3.13/contextlib.py", line 214, in aenter return await anext(self.gen) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/fastapi/routing.py", line 134, in merged_lifespan async with original_context(app) as maybe_original_state: ~~~~~~~~~~~~~~~~^^^^^ File "/usr/lib/python3.13/contextlib.py", line 214, in aenter return await anext(self.gen) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/fastapi/routing.py", line 134, in merged_lifespan async with original_context(app) as maybe_original_state: ~~~~~~~~~~~~~~~~^^^^^ File "/usr/lib/python3.13/contextlib.py", line 214, in aenter return await anext(self.gen) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/fastapi/routing.py", line 134, in merged_lifespan async with original_context(app) as maybe_original_state: ~~~~~~~~~~~~~~~~^^^^^ File "/usr/lib/python3.13/contextlib.py", line 214, in aenter return await anext(self.gen) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/fastapi/routing.py", line 134, in merged_lifespan async with original_context(app) as maybe_original_state: ~~~~~~~~~~~~~~~~^^^^^ File "/usr/lib/python3.13/contextlib.py", line 214, in aenter return await anext(self.gen) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/fastapi/routing.py", line 134, in merged_lifespan async with original_context(app) as maybe_original_state: ~~~~~~~~~~~~~~~~^^^^^ File "/usr/lib/python3.13/contextlib.py", line 214, in aenter return await anext(self.gen) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/fastapi/routing.py", line 134, in merged_lifespan async with original_context(app) as maybe_original_state: ~~~~~~~~~~~~~~~~^^^^^ File "/usr/lib/python3.13/contextlib.py", line 214, in aenter return await anext(self.gen) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/fastapi/routing.py", line 134, in merged_lifespan async with original_context(app) as maybe_original_state: ~~~~~~~~~~~~~~~~^^^^^ File "/usr/lib/python3.13/contextlib.py", line 214, in aenter return await anext(self.gen) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/fastapi/routing.py", line 134, in merged_lifespan async with original_context(app) as maybe_original_state: ~~~~~~~~~~~~~~~~^^^^^ File "/usr/lib/python3.13/contextlib.py", line 214, in aenter return await anext(self.gen) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/fastapi/routing.py", line 134, in merged_lifespan async with original_context(app) as maybe_original_state: ~~~~~~~~~~~~~~~~^^^^^ File "/usr/lib/python3.13/contextlib.py", line 214, in aenter return await anext(self.gen) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/litellm/proxy/proxy_server.py", line 627, in proxy_startup_event prisma_client = await ProxyStartupEvent._setup_prisma_client( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<3 lines>... ) ^ File "/usr/lib/python3.13/site-packages/litellm/proxy/proxy_server.py", line 4010, in _setup_prisma_client PrismaDBExceptionHandler.handle_db_exception(e) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^ File "/usr/lib/python3.13/site-packages/litellm/proxy/db/exception_handler.py", line 61, in handle_db_exception raise e File "/usr/lib/python3.13/site-packages/litellm/proxy/proxy_server.py", line 4007, in _setup_prisma_client await prisma_client.health_check() File "/usr/lib/python3.13/site-packages/backoff/_async.py", line 151, in retry ret = await target(*args, **kwargs)

extent analysis

Fix Plan

The fix involves ensuring a proper database connection before attempting to use the Prisma client.

  • Check the database connection string and credentials for accuracy.
  • Verify that the database server is running and accessible.
  • Implement a retry mechanism with a limited number of attempts to handle temporary connection issues.

Example code for retrying the database connection:

import asyncio
from backoff import on_exception, expo
from ratelimit import limits

MAX_CALLS = 3
PERIOD = 60  # 1 minute

@on_exception(expo, Exception, max_tries=MAX_CALLS)
async def setup_prisma_client():
    prisma_client = await ProxyStartupEvent._setup_prisma_client()
    await prisma_client.health_check()
    return prisma_client

Verification

To verify the fix, restart the application and monitor the logs for any database connection errors. If the issue persists, check the database server status and the connection string.

Extra Tips

  • Consider adding logging to track the number of retries and the time spent waiting for a connection.
  • Review the database server configuration to ensure it can handle the expected load.
  • Implement a circuit breaker pattern to prevent cascading failures in case of prolonged database unavailability.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING