[jdk21u-dev] RFR: 8335181: Incorrect handling of HTTP/2 GOAWAY frames in HttpClient

Ryan Flegel duke at openjdk.org
Mon Oct 7 19:30:40 UTC 2024


On Thu, 3 Oct 2024 20:06:12 GMT, Ryan Flegel <duke at openjdk.org> wrote:

> I am backporting this fix because I am being affected by [JDK-8335181](https://bugs.openjdk.org/browse/JDK-8335181). I had to downgrade to HTTP/1.1 in order to use `HttpClient`.
> 
> I needed to resolve two minor conflicts in `MultiExchange.java` due to [JDK-8191494](https://bugs.openjdk.org/browse/JDK-8191494) being applied slightly differently in different projects. In both cases, I kept the change closer to upstream.
> 
> The conflicts were:
> * Explicit vs implicit null field initialization
> * Different debug log message
> 
> ### Tests
> 
> All tests in the GitHub actions have passed.
> 
> I have run the `jdk/java/net` tests locally and there were several failures, including 4 within `java/net/httpclient`. However, I have confirmed that all the failed tests also fail before applying the patch, so they seem to be unrelated.
> 
> Here is a full list of the failures:
> 
> * java/net/DatagramSocket/B6411513.java: java.net.DatagramSocket.receive: packet isn't received
> * java/net/DatagramSocket/SendReceiveMaxSize.java: This test verifies that on macOS, the send buffer size is configured by default so that none of our implementations of the UDP protocol will fail with a "packet too large" exception when trying to send a packet of the maximum possible size allowed by the protocol.
> * java/net/httpclient/ConnectTimeoutNoProxyAsync.java: Tests for connection related timeouts
> * java/net/httpclient/ConnectTimeoutNoProxySync.java: Tests for connection related timeouts
> * java/net/httpclient/ConnectTimeoutWithProxyAsync.java: Tests for connection related timeouts
> * java/net/httpclient/ConnectTimeoutWithProxySync.java: Tests for connection related timeouts

I was able to get tests running after downgrading XCode and have updated the PR description with the results.

-------------

PR Comment: https://git.openjdk.org/jdk21u-dev/pull/1020#issuecomment-2397717253


More information about the jdk-updates-dev mailing list