RockteMQ-AI commented on issue #2208: URL: https://github.com/apache/rocketmq-dashboard/issues/2208#issuecomment-5295485001
**Issue Evaluation** Category: `bug` | Status: **Confirmed** The reported issue has been verified against the current codebase. **Root Cause:** `OpenAiCompatibleLlmGateway` (line 54) uses `CallerRunsPolicy` as the executor rejection handler. When the executor queue is full, the servlet thread itself executes the SSE streaming task, blocking the HTTP request thread indefinitely. Additionally, the `SseEmitter` created at lines 64/72 has no `registerCompletionCallback` or `registerTimeoutCallback`, so client disconnects never propagate to the running task or the underlying CLI subprocess. **Impact:** Under concurrent AI chat load, servlet threads get pinned by `CallerRunsPolicy` fallback execution. Abandoned SSE streams keep CLI subprocesses alive with no consumer, leaking both threads and OS processes. The `aiChatExecutor` is a fixed 4-thread pool, so saturation is realistic under moderate load. **Severity:** High — affects Studio stability under load and causes resource leaks An automated fix proposal will be generated. Reply `/approve` to proceed with PR generation. --- *Automated evaluation by github-manager* -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
