-
Notifications
You must be signed in to change notification settings - Fork 2k
Description
Jetty version(s)
Jetty 12.1.3 embedded
Jetty Environment
ee10, ee11 (ee8 and ee9 are unaffected)
HTTP version
HTTP 2
Java version/vendor
openjdk version "21.0.5" 2024-10-15 LTS
OpenJDK Runtime Environment Temurin-21.0.5+11 (build 21.0.5+11-LTS)
OpenJDK 64-Bit Server VM Temurin-21.0.5+11 (build 21.0.5+11-LTS, mixed mode, sharing)
OS type/version
Ubuntu 24.04.3 LTS
Description
We tried to migrate from Jetty 12.0.29 to 12.1.3 and when CompressionHandler is used, requests starts to break due to connection resets.
Problem is not present:
- on Jetty 12.0.29 with GzipHandler and HTTP/2
- on Jetty 12.1.3 with CompressionHandler and HTTP 1.1
- on Jetty 12.1.3 without CompressionHandler and with HTTP/2
I have also tried it with the fix from #13812 and it still fails.
It fails every time when it serves development version of our frontend (huge amount of .dcc.js files) but with production release it seems to be working well.
When we were trying to create minimal reproducion sample we found out it works well when we added:
h2.setRateControlFactory(new WindowRateControl.Factory(1024));
(We added this line just by luck because @lorban suggested this line while we were preparing minimal reproduction sample for another issue half year ago - see #12776)
So this might not be a bug but feature.
In org.eclipse.jetty.http2.server.AbstractHTTP2ServerConnectionFactory I can see that default value is new WindowRateControl.Factory(128).
My questions:
- Isn't this default value set too low, when single web browser client session can hit this limitation?
- Why this happens only when CompressionHandler is used? Even when we tried to change this value to
WindowRateControl.Factory(4)it never fails when CompressionHandler is not used. - Why this does not occurs on Jetty 12.0.x when there is also default value
WindowRateControl.Factory(128)?
How to reproduce?
- Run:
mvn compile exec:java
- Open web browser (Chromium based or Firefox) and open: https://localhost:9443/