On Wed, 26 Aug 2026 19:29:33 GMT, Volkan Yazici <[email protected]> wrote:

> Fix the reuse of timed out idle HTTP Client connections when the eviction 
> gets delayed.
> 
> The added test has certain assumptions to reproduce the problem. That said, 
> it consistently, almost always, fails if the associated fix is missing. Put 
> another way, the test can pass without the fix.
> 
> ---------
> - [X] I confirm that I make this contribution in accordance with the [OpenJDK 
> Interim AI Policy](https://openjdk.org/legal/ai).

src/java.net.http/share/classes/jdk/internal/net/http/Http2Connection.java line 
1564:

> 1562:                 setFinalStream();
> 1563:                 return false;
> 1564:             }

This does not look completely right - maybe it should do:

if (timedOut) idleConnectionTimeoutEvent.handle()?

src/java.net.http/share/classes/jdk/internal/net/http/Http3Connection.java line 
907:

> 905:                 setFinalStream();
> 906:                 return false;
> 907:             }

In Http3Connection the idleConnectionTimeoutEvent is volatile - so please add a 
local variable to not read it more than once (or investigate whether the 
`volatile` keyword could/should be removed). 
Also it seems here we should also simply call handle() on the event if the 
timeout has expired and let the rest of the method unfold.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/32545#discussion_r3870584644
PR Review Comment: https://git.openjdk.org/jdk/pull/32545#discussion_r3870627791

Reply via email to