File tree Expand file tree Collapse file tree
server-common/src/main/java/io/a2a/server/events Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -259,6 +259,13 @@ public Flow.Publisher<EventQueueItem> consumeAll() {
259259 boolean writeCompleted = finalEventWriteLatch .await (2 , TimeUnit .SECONDS );
260260 if (writeCompleted ) {
261261 LOGGER .debug ("Final event write confirmed via backpressure signal" );
262+ // CRITICAL: Even after backpressure confirms write to Vert.x buffer,
263+ // TCP still needs time to transmit data to client socket.
264+ // Brief delay ensures final event reaches client before stream closes.
265+ // Without this, response.end() can close socket while TCP is still
266+ // transmitting buffered data, causing "Stream cancelled" on client.
267+ Thread .sleep (50 );
268+ LOGGER .debug ("TCP flush delay completed" );
262269 } else {
263270 LOGGER .warn ("Timeout waiting for final event write confirmation - proceeding anyway" );
264271 }
You can’t perform that action at this time.
0 commit comments