RFR: 8372198: Avoid closing PlainHttpConnection while holding a lock [v4]
Daniel Fuchs
dfuchs at openjdk.org
Wed Nov 26 17:46:44 UTC 2025
On Tue, 25 Nov 2025 10:11:49 GMT, Volkan Yazici <vyazici at openjdk.org> wrote:
>> Daniel Fuchs has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains eight commits:
>>
>> - Merge branch 'master' into ConnectionCloseLock-8372198
>> - Merge master
>> - 8372198: Avoid closing PlainHttpConnection while holding a lock
>> - Merge branch 'master' into SelectorManagerVT-8372159
>> - Copyright years
>> - Review feedback on test
>> - Revert changes to SelectorManager::shutdown
>> - 8372159: HttpClient SelectorManager thread could be a VirtualThread
>
> I see the `noreg-hard` label. An approach that you might consider exploring:
>
> 1. Configure `jdk.httpclient.connectionPoolSize` to something really low (e.g., 1) to force `returnToPool()` to close excessive connections
> 2. Configure an `HttpTestServer` that blocks all `HttpTestExchange::sendResponseHeaders` behind a latch
> 3. Fire 100 `sendAsync().thenCompose(responseFutures::add)`, where `responseFutures` is an unbounded `BlockingQueue<HttpResponse>`
> 4. Release the `sendResponseHeaders` latch
> 5. Verify the success of the very first response, i.e., `responseFutures.enqueue()`
> 6. Shutdown the client without waiting for the rest of the responses to arrive
> 7. Wrap the test method in a `@RepeatedTest(50)`
@vy - the test you requested is ready to be reviewed. It seems stable now even on windows. Let me know what you think.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/28430#issuecomment-3582522966
More information about the net-dev
mailing list