Integrated: 8372409: java/net/httpclient/http3/H3MultipleConnectionsToSameHost.java timed out during warmup

Daniel Fuchs dfuchs at openjdk.org
Mon Dec 1 12:33:01 UTC 2025


On Tue, 25 Nov 2025 14:38:01 GMT, Daniel Fuchs <dfuchs at openjdk.org> wrote:

> The issue here occurs when the connection gets closed just before the `Http3ExchangeImpl` gets created. In that case the h3 stream reference counter gets incremented, but due to the connection being already closed Http3ExchangeImpl::close will not be invoked, even though the CF returned to the user has been correctly completed with the appropriate exception. Not calling `Http3ExchangeImpl::close` after the reference counter has been incremented prevents that reference counter from being properly decremented. This in turn causes `HttpClient::close()` to wait forever.
> 
> The fix is to double-check that the connection is still open after having added the exchange to the connection's exchange map. If the connection is still opened, we can start the exchange. Otherwise we mark it as unprocessed and close it.

This pull request has now been integrated.

Changeset: 785ca67e
Author:    Daniel Fuchs <dfuchs at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/785ca67e46c762ed0ffaeda1e26e5f90276181e8
Stats:     26 lines in 2 files changed: 21 ins; 0 del; 5 mod

8372409: java/net/httpclient/http3/H3MultipleConnectionsToSameHost.java timed out during warmup

Reviewed-by: djelinski

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

PR: https://git.openjdk.org/jdk/pull/28494


More information about the net-dev mailing list