On Mon, 24 Nov 2025 20:14:02 GMT, Volkan Yazici <[email protected]> wrote:
>> Daniel Fuchs has updated the pull request incrementally with one additional >> commit since the last revision: >> >> Update test/jdk/java/net/httpclient/http3/H3QuicVTTest.java >> >> Co-authored-by: Daniel Jelinski <[email protected]> > > I had started my review in the morning, polished it in the evening, > submitted, and then noticed it was already integrated. 😅 None of my remarks > were a blocker. @dfuch, feel free to interpret them as you wish. Sorry @vy don't know what happened here: did you comment after I integrated the PR or was there a glitch with github/bots? I only saw your comments today. > test/jdk/java/net/httpclient/http2/H2SelectorVTTest.java line 55: > >> 53: * jdk.httpclient.test.lib.common.HttpServerAdapters >> 54: * @run junit/othervm >> 55: * >> -Djdk.httpclient.HttpClient.log=requests,responses,headers,errors > > @dfuch, double-checking: do we really want to keep > `-Djdk.httpclient.HttpClient.log=...` configuration? They generally generate > excessive output and consequently get truncated. Judging from my experience, > we tend to increase logging verbosity of tests if there are intermittent > failures, otherwise, if they pass, they better pass quietly? In short, I am > not against adding them, but I prefer it to be a conscious decision, not a > copy-paste leftover. 😅 It's the debug logs that are verbose. `-Djdk.httpclient.HttpClient.log=requests,responses,headers,errors` should not flood the output unless you make 100's of requests. > test/jdk/java/net/httpclient/http2/H2SelectorVTTest.java line 108: > >> 106: * >> -Djdk.internal.httpclient.tcp.selector.useVirtualThreads=garbage >> 107: * >> -Djdk.httpclient.HttpClient.log=requests,responses,headers,errors >> 108: * H2SelectorVTTest > > Suggestion: > > * ${test.main.class} Good point. Maybe in a followup. > test/jdk/java/net/httpclient/http2/H2SelectorVTTest.java line 113: > >> 111: class H2SelectorVTTest implements HttpServerAdapters { >> 112: >> 113: private static SSLContext sslContext; > > 1. Is SSL necessary for this test? > 2. Do we need two tests: with and without SSL? One is enough - and using SSL makes it simpler (avoids the upgrade and ensure we're fully HTTP/2) > test/jdk/java/net/httpclient/http2/H2SelectorVTTest.java line 147: > >> 145: h2Server.start(); >> 146: System.out.println("Server started at " + >> h2Server.getAddress()); >> 147: requestURI = "https://" + h2Server.serverAuthority() + "/hello"; > > I suggest salting the path (to avoid unintentionally getting responded by a > foreign server) and suffixing the request URI with `/x` (to guard against > [JDK-8272758]): > > Suggestion: > > h2Server.addHandler((exchange) -> exchange.sendResponseHeaders(200, > 0), "/H2SelectorVTTest"); > h2Server.start(); > System.out.println("Server started at " + h2Server.getAddress()); > requestURI = "https://" + h2Server.serverAuthority() + > "/H2SelectorVTTest/x"; > > > [JDK-8272758]: https://bugs.openjdk.org/browse/JDK-8272758 Could do that in a followup > test/jdk/java/net/httpclient/http2/H2SelectorVTTest.java line 201: > >> 199: // selector thread is a platform thread. Otherwise, it assumes >> 200: // that the thread is virtual. >> 201: private static void assertSelectorThread(HttpClient client) { > > Since `SelectorManager` has been converted to a `Runnable`, would iterating > through stack traces of existing platform threads and checking if any > `StackTraceElement` matches `SelectorManager::run` qualify a more accurate > check? Interesting idea. Would avoid the dependency on the thread name. ------------- PR Comment: https://git.openjdk.org/jdk/pull/28395#issuecomment-3575057133 PR Review Comment: https://git.openjdk.org/jdk/pull/28395#discussion_r2559556843 PR Review Comment: https://git.openjdk.org/jdk/pull/28395#discussion_r2559557966 PR Review Comment: https://git.openjdk.org/jdk/pull/28395#discussion_r2559553629 PR Review Comment: https://git.openjdk.org/jdk/pull/28395#discussion_r2559551392 PR Review Comment: https://git.openjdk.org/jdk/pull/28395#discussion_r2559549151
