[
https://issues.apache.org/jira/browse/CAMEL-23804?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
James Netherton resolved CAMEL-23804.
-------------------------------------
Resolution: Fixed
> camel-platform-http-vertx: SSE (text/event-stream) responses buffer events
> instead of flushing eagerly
> ------------------------------------------------------------------------------------------------------
>
> Key: CAMEL-23804
> URL: https://issues.apache.org/jira/browse/CAMEL-23804
> Project: Camel
> Issue Type: Improvement
> Components: camel-platform-http-vertx
> Reporter: James Netherton
> Assignee: James Netherton
> Priority: Minor
> Fix For: 4.21.0
>
>
> The camel-platform-http-vertx AsyncInputStream greedily fills its read buffer
> (default 16KB) before emitting data to the HTTP response. For normal
> responses this is fine, but for Server-Sent Events (text/event-stream) it
> causes all events to batch into a single chunk instead of being delivered
> progressively as they are produced.
> A typical SSE event is small (100-300 bytes). The doRead method recurses via
> buffer.hasRemaining() until the full buffer is filled, meaning ~50+ events
> get coalesced into one write. Clients don't receive any events until either
> the buffer fills or the stream closes.
> This makes real-time SSE streaming non-functional on platform-http-vertx. The
> A2A component documents this as a known limitation and recommends Undertow or
> Jetty as a workaround, but on Quarkus platform-http is the only option.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)