Revert "fix(proxy): recover from prisma-query-engine zombie process" - #21827
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Greptile SummaryThis PR reverts #21707, which added a prisma-query-engine process watchdog (SIGCHLD handler, pidfd monitoring, The revert:
The revert is clean: no dangling references to removed methods or Confidence Score: 5/5
|
| Filename | Overview |
|---|---|
| litellm/proxy/utils.py | Reverts the engine watchdog feature: removes ~350 lines of engine PID tracking, SIGCHLD handling, pidfd monitoring, /proc polling, and heavy reconnect logic. Restores the simpler lightweight reconnect cycle (disconnect → connect → SELECT 1). No residual references to removed methods or imports. |
| tests/litellm/proxy/test_prisma_engine_watchdog.py | Deletes the entire 431-line test file for the reverted engine watchdog feature. The remaining self-heal tests in tests/test_litellm/proxy/db/test_prisma_self_heal.py still cover the lightweight _run_reconnect_cycle and watchdog start/stop lifecycle. |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart TD
A["DB Health Watchdog Loop<br/>(periodic SELECT 1 probe)"] -->|"Probe fails"| B["attempt_db_reconnect()"]
B --> C["_run_reconnect_cycle()"]
subgraph BEFORE["Before Revert (PR #21707)"]
D["_start_engine_watcher()"] --> E{"Engine PID alive?"}
E -->|"Dead (SIGCHLD/pidfd/poll)"| F["Heavy reconnect:<br/>recreate_prisma_client()"]
F --> D
E -->|"Alive"| G["Lightweight reconnect:<br/>disconnect → connect → SELECT 1"]
end
subgraph AFTER["After Revert (This PR)"]
H["_run_reconnect_cycle()"] --> I["Lightweight reconnect:<br/>disconnect → connect → SELECT 1"]
end
C -.->|"Removed"| BEFORE
C -->|"Restored"| AFTER
style BEFORE fill:#ffcccc,stroke:#cc0000
style AFTER fill:#ccffcc,stroke:#00cc00
Last reviewed commit: 8c5be4c
|
@yuneng-jiang this was a bug only on macos , ive made the PR #21899 with details on how i fixed issues |
…og-prisma Revert "fix(proxy): recover from prisma-query-engine zombie process"
Reverts #21707
Issue:

Loops infinitely, and does not allow me to access the DB locally
@hcavarsan Please take a look when you get a chance