From c28ab4bbb71bcdc3694ab03480e66a917e52a194 Mon Sep 17 00:00:00 2001 From: Jon Marius Venstad Date: Thu, 10 Jun 2021 12:18:26 +0200 Subject: Use H2AsyncClientBuilder in unit test --- .../com/yahoo/jdisc/http/server/jetty/HttpServerTest.java | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) (limited to 'container-core') diff --git a/container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpServerTest.java b/container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpServerTest.java index 0dec711f4c0..0f625b5c3df 100644 --- a/container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpServerTest.java +++ b/container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpServerTest.java @@ -41,6 +41,7 @@ import org.apache.hc.client5.http.entity.mime.FormBodyPart; import org.apache.hc.client5.http.entity.mime.FormBodyPartBuilder; import org.apache.hc.client5.http.entity.mime.StringBody; import org.apache.hc.client5.http.impl.async.CloseableHttpAsyncClient; +import org.apache.hc.client5.http.impl.async.H2AsyncClientBuilder; import org.apache.hc.client5.http.impl.async.HttpAsyncClientBuilder; import org.apache.hc.client5.http.impl.nio.PoolingAsyncClientConnectionManagerBuilder; import org.apache.hc.client5.http.ssl.ClientTlsStrategyBuilder; @@ -969,14 +970,12 @@ public class HttpServerTest { private static CloseableHttpAsyncClient createHttp2Client(JettyTestDriver driver) { TlsStrategy tlsStrategy = ClientTlsStrategyBuilder.create() - .setSslContext(driver.sslContext()) - .build(); - var client = HttpAsyncClientBuilder.create() - .setVersionPolicy(HttpVersionPolicy.FORCE_HTTP_2) - .disableConnectionState() - .disableAutomaticRetries() - .setConnectionManager(PoolingAsyncClientConnectionManagerBuilder.create().setTlsStrategy(tlsStrategy).build()) - .build(); + .setSslContext(driver.sslContext()) + .build(); + var client = H2AsyncClientBuilder.create() + .disableAutomaticRetries() + .setTlsStrategy(tlsStrategy) + .build(); client.start(); return client; } -- cgit v1.2.3 From ab87801a0b3d0d7e5be0c0205074a0128ea3c970 Mon Sep 17 00:00:00 2001 From: Jon Marius Venstad Date: Thu, 10 Jun 2021 14:46:40 +0200 Subject: More aggressive HTTP connection settings --- .../main/java/com/yahoo/jdisc/http/server/jetty/ConnectorFactory.java | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'container-core') diff --git a/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/ConnectorFactory.java b/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/ConnectorFactory.java index ad682273d0d..4e3b383581a 100644 --- a/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/ConnectorFactory.java +++ b/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/ConnectorFactory.java @@ -8,6 +8,7 @@ import com.yahoo.jdisc.http.ssl.SslContextFactoryProvider; import com.yahoo.security.tls.MixedMode; import com.yahoo.security.tls.TransportSecurityUtils; import org.eclipse.jetty.alpn.server.ALPNServerConnectionFactory; +import org.eclipse.jetty.http2.parser.RateControl; import org.eclipse.jetty.http2.server.HTTP2ServerConnectionFactory; import org.eclipse.jetty.server.ConnectionFactory; import org.eclipse.jetty.server.DetectorConnectionFactory; @@ -164,6 +165,9 @@ public class ConnectorFactory { HTTP2ServerConnectionFactory factory = new HTTP2ServerConnectionFactory(newHttpConfiguration()); factory.setStreamIdleTimeout(toMillis(connectorConfig.http2().streamIdleTimeout())); factory.setMaxConcurrentStreams(connectorConfig.http2().maxConcurrentStreams()); + factory.setInitialSessionRecvWindow(1 << 24); + factory.setInitialStreamRecvWindow(1 << 20); + factory.setRateControlFactory(new RateControl.Factory(){ }); return factory; } -- cgit v1.2.3 From cd9364ca6a3f550e635225802c184f64830e2c16 Mon Sep 17 00:00:00 2001 From: Jon Marius Venstad Date: Thu, 10 Jun 2021 14:51:47 +0200 Subject: Keep rate control, as it only applies to invalid frames --- .../main/java/com/yahoo/jdisc/http/server/jetty/ConnectorFactory.java | 1 - 1 file changed, 1 deletion(-) (limited to 'container-core') diff --git a/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/ConnectorFactory.java b/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/ConnectorFactory.java index 4e3b383581a..92d2cc5d1cd 100644 --- a/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/ConnectorFactory.java +++ b/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/ConnectorFactory.java @@ -167,7 +167,6 @@ public class ConnectorFactory { factory.setMaxConcurrentStreams(connectorConfig.http2().maxConcurrentStreams()); factory.setInitialSessionRecvWindow(1 << 24); factory.setInitialStreamRecvWindow(1 << 20); - factory.setRateControlFactory(new RateControl.Factory(){ }); return factory; } -- cgit v1.2.3