Aias00 opened a new issue, #7017: URL: https://github.com/apache/rocketmq-dashboard/issues/7017
## Evidence On rocketmq-studio c34535db0, AgentRunRegistry.publish synchronously calls deliver for every observer. AgentStreamSession.sendAgent invokes blocking SseEmitter.send on that caller thread. A latch-controlled emitter with two real sessions confirmed that while the first emitter blocks, the healthy observer receives zero frames and publish cannot return; releasing it resumes both. No production-network latency claim is made. ## Design and implementation Isolate each observer transport behind an ordered sender with a bounded pending-frame budget. Producer and shared heartbeat/flush scheduler must only enqueue. Preserve replay ordering/dedup and drain queued frames before done. An overloaded or failed observer is detached explicitly without stopping the run or other observers. Sender tasks, admission, byte/frame limits and terminal cleanup must be bounded; do not introduce an unbounded executor or unbounded per-frame allocation. Keep the current SSE wire protocol and add deterministic blocked-emitter, ordering, overflow and lifecycle regressions. ## Validation Java21 transport/registry/service/executor tests, Checkstyle and a real blocked-write transport check if supported locally. No new dependencies. -- 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]
