On Fri, 11 Sep 2026 07:45:45 GMT, Arno Zeller <[email protected]> wrote:

> Only run the test on platforms that have selector implementations that do 
> *NOT* block the carrier thread. Currently these are macOS and Linux.
> 
> ---------
> - [x] I confirm that I make this contribution in accordance with the [OpenJDK 
> Interim AI Policy](https://openjdk.org/legal/ai).

Thanks Arno for looking into this. May I suggest a few tweaks to the comments?

test/jdk/java/net/httpclient/IdleConnectionTimeoutReuseTest.java line 73:

> 71:  * @comment Why do we only test on Linux and macOS? These platforms are 
> known to
> 72:  *          have selector implementations that do *NOT* block the carrier 
> thread
> 73:  *          when selectors are called using VTs (via 
> `useVirtualThreads=always`)

Suggestion:

 *          have selector implementations that do *NOT* pin the carrier thread 
in 
 *          select() when selectors are called using VTs (via 
`useVirtualThreads=always`).

test/jdk/java/net/httpclient/IdleConnectionTimeoutReuseTest.java line 74:

> 72:  *          have selector implementations that do *NOT* block the carrier 
> thread
> 73:  *          when selectors are called using VTs (via 
> `useVirtualThreads=always`)
> 74:  *          and `jdk.virtualThreadScheduler.{parallelism,maxPoolSize}` 
> set to 1.

Suggestion:

 *          This test sets 
`jdk.virtualThreadScheduler.{parallelism,maxPoolSize}` to 1,
 *          which prevents the selector implementation from compensating the 
pinning by
 *          temporarily increasing the carrier threads pool size. This causes 
the test to block
 *          forever on those implementations.

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

PR Review: https://git.openjdk.org/jdk/pull/32836#pullrequestreview-5180087754
PR Review Comment: https://git.openjdk.org/jdk/pull/32836#discussion_r3990386637
PR Review Comment: https://git.openjdk.org/jdk/pull/32836#discussion_r3990415093

Reply via email to