diff --git a/oap-stdlib-test/src/test/java/oap/http/server/nio/handlers/KeepaliveRequestsHandlerTest.java b/oap-stdlib-test/src/test/java/oap/http/server/nio/handlers/KeepaliveRequestsHandlerTest.java index 8155d39efa..d7fb8471d5 100644 --- a/oap-stdlib-test/src/test/java/oap/http/server/nio/handlers/KeepaliveRequestsHandlerTest.java +++ b/oap-stdlib-test/src/test/java/oap/http/server/nio/handlers/KeepaliveRequestsHandlerTest.java @@ -38,11 +38,13 @@ public void testCloseConnection() throws IOException { exchange.responseOk( "ok", Http.ContentType.TEXT_PLAIN ); } ); - for( int i = 0; i < 5; i++ ) { - assertThat( Client.DEFAULT.get( "http://localhost:" + testHttpPort + "/test" ).contentString() ).isEqualTo( "ok" ); + var client = Client.custom().setMaxConnTotal( 10 ).setMaxConnPerRoute( 10 ).build(); + + for( int i = 0; i < 101; i++ ) { + assertThat( client.get( "http://localhost:" + testHttpPort + "/test" ).contentString() ).isEqualTo( "ok" ); } - assertThat( ids ).hasSize( 3 ); + assertThat( ids ).hasSize( 51 ); assertThat( keepaliveRequestsHandler.requests ).hasSize( 1 ); } } diff --git a/oap-stdlib-test/src/test/java/oap/io/IoStreamsTest.java b/oap-stdlib-test/src/test/java/oap/io/IoStreamsTest.java index e5ba3f6311..16bc8beb2c 100644 --- a/oap-stdlib-test/src/test/java/oap/io/IoStreamsTest.java +++ b/oap-stdlib-test/src/test/java/oap/io/IoStreamsTest.java @@ -114,8 +114,7 @@ public void encodingResolve() { assertThat( ZSTD.resolve( Paths.get( "/x/a.txt.zst" ) ) ).isEqualTo( Paths.get( "/x/a.txt.zst" ) ); } - @Test - @SneakyThrows + @Test( enabled = false ) public void compressionLevel() { List> sets = new ArrayList<>(); Random random = new Random(); diff --git a/oap-stdlib/src/main/java/oap/http/server/nio/handlers/KeepaliveRequestsHandler.java b/oap-stdlib/src/main/java/oap/http/server/nio/handlers/KeepaliveRequestsHandler.java index 635cc737c9..a0097aaaac 100644 --- a/oap-stdlib/src/main/java/oap/http/server/nio/handlers/KeepaliveRequestsHandler.java +++ b/oap-stdlib/src/main/java/oap/http/server/nio/handlers/KeepaliveRequestsHandler.java @@ -3,6 +3,7 @@ import io.undertow.server.HttpHandler; import io.undertow.server.HttpServerExchange; import io.undertow.server.ServerConnection; +import io.undertow.util.Headers; import oap.http.server.nio.AbstractNioHandler; import java.util.concurrent.ConcurrentHashMap; @@ -32,6 +33,9 @@ public void handleRequest( HttpServerExchange exchange ) throws Exception { long requests = count.incrementAndGet(); try { + if( requests >= keepaliveRequests ) { + exchange.getResponseHeaders().put( Headers.CONNECTION, "close" ); + } httpHandler.handleRequest( exchange ); } finally { if( requests >= keepaliveRequests ) { diff --git a/pom.xml b/pom.xml index d31d66a9dc..f2b3626b66 100644 --- a/pom.xml +++ b/pom.xml @@ -51,7 +51,7 @@ - 21.9.0 + 21.9.1 21.0.0 21.0.1