From 5bb16451b5c59dd0ac2267a494ee9a9587f23025 Mon Sep 17 00:00:00 2001 From: Tomas Langer Date: Tue, 13 Feb 2024 15:19:50 +0100 Subject: [PATCH] Releasing entity count down latch even if connection is set to close. --- .../java/io/helidon/webserver/http1/Http1Connection.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/webserver/webserver/src/main/java/io/helidon/webserver/http1/Http1Connection.java b/webserver/webserver/src/main/java/io/helidon/webserver/http1/Http1Connection.java index c9ad8b1c3c2..2a742e4218e 100644 --- a/webserver/webserver/src/main/java/io/helidon/webserver/http1/Http1Connection.java +++ b/webserver/webserver/src/main/java/io/helidon/webserver/http1/Http1Connection.java @@ -420,7 +420,7 @@ private void route(HttpPrologue prologue, WritableHeaders headers) { routing.route(ctx, request, response); - consumeEntity(request, response); + consumeEntity(request, response, entityReadLatch); try { entityReadLatch.await(); } catch (InterruptedException e) { @@ -433,9 +433,10 @@ private void route(HttpPrologue prologue, WritableHeaders headers) { } } - private void consumeEntity(Http1ServerRequest request, Http1ServerResponse response) { + private void consumeEntity(Http1ServerRequest request, Http1ServerResponse response, CountDownLatch entityReadLatch) { if (response.headers().contains(HeaderValues.CONNECTION_CLOSE) || request.content().consumed()) { // we do not care about request entity if connection is getting closed + entityReadLatch.countDown(); return; } // consume the entity if not consumed by routing