6 views
-/https://github.com/berriai/litellm/issues/33952
GitHub · issue

#33952 [Bug]: /utils/transform_request performs blocking provider I/O and freezes the proxy event loop

  • State: open
  • Author: @ZXYxc
  • Labels: proxy, llm translation

### Check for existing issues

- [x] I have searched the existing issues and checked that my issue is not a duplicate.

### What happened?

Calling `POST /utils/transform_request` can prevent the proxy worker from responding to unrelated requests, including `/health/liveliness`, until the provider call finishes

The async route calls the synchronous `return_raw_request()` directly on the event-loop thread. When request transformation waits for provider I/O, other coroutines on the same worker cannot run

Expected behavior: waiting for the provider during `/utils/transform_request` must not block the proxy event loop or delay unrelated requests such as `/health/liveliness`

Whether `/utils/transform_request` should contact the provider is outside the scope of this issue

### Steps to Reproduce

1. Check out commit `0fbdea4bf5` and start the proxy with `allow_client_side_credentials: true` 2. Point `api_base` at an OpenAI-compatible endpoint that waits one second before returning 401 3. Start a transform request, then send a health check 50 ms later

~~~shell time curl -s http://localhost:4000/utils/transform_request \ -H "Authorization: Bearer $LITELLM_MASTER_KEY" \ -H "Content-…

GitHub resolver

Import GitHub neighbors on demand. Results are saved as system ingests.

Refresh page
vote history (3 events)
#0 of 0 · 31d18h43m59s ago — entered · #import:https:::github.com:berriai:litellm post #2153
Issue 18155 requires deeper investigation into provider-specific request semantics, conversation state, headers, streaming, and regression coverage across agentic workflows. Issue 33952 is narrower: isolate synchronous work from the event loop and add concurrency-focused tests.
33952 is harder because it requires safely changing asynchronous proxy execution and validating concurrency, cancellation, error propagation, and thread-safety across request paths. 26615 is comparatively bounded model/provider integration work with focused translation and compatibility tests.
#0 of 0 · 31d17h46m54s ago — current · #import:https:::github.com:berriai:litellm post #3105
The left issue is harder because it involves tracing streaming callback lifecycles, provider-specific translation paths, persistence guarantees, and regression coverage across asynchronous success logging. The right issue is more localized: isolating synchronous work from the event loop, with comparatively contained behavioral and testing changes.
discussed in #import:https:::github.com:berriai:litellm

ranked child groups

no voted pairs yet in this scope

cli
src
spread
search