-
Bug
-
Resolution: Done
-
Major
-
None
-
None
When using RESTEasy’s SseBroadcaster, we’ve observed a critical issue that causes broadcast(...) to block indefinitely and skip downstream sinks if a registered SseEventSink returns a CompletionStage that is never completed.
This behavior occurs after session invalidation, due to how AsyncOutputStream and the surrounding container handle write failures.
Real-world Impact:
- Partial delivery of events (some clients receive events, others don’t).
- Silent buffering for a dead sink.
- Increasing memory usage.
- Ultimately: out of memory error of the application server, affecting the whole server cluster.
Environment:
- Application server: RedHat JBoss EAP 8.0.7
- Servlet container: Undertow
- Java version: Azul JDK 17.0.15
- clones
-
JBEAP-31432 (8.0.z) RESTEASY-3600 - SseBroadcaster.broadcast(...) may block indefinitely due to uncompleted CompletionStage after session invalidation and undetected wrapped exception
-
- Resolved
-
- is cloned by
-
RESTEASY-3600 SseBroadcaster.broadcast(...) may block indefinitely due to uncompleted CompletionStage after session invalidation and undetected wrapped exception
-
- Resolved
-
- is incorporated by
-
JBEAP-31437 (8.1.z) Upgrade RESTEasy from 6.2.12.Final-redhat-00001 to 6.2.15.Final
-
- Open
-