On Tue, 22 Nov 2022 21:34:38 GMT, Daniel Fuchs <[email protected]> wrote:

>> The java/net/httpclient/SpecialHeadersTest.java test has been observed 
>> failing once, due to a selector thread still running after all operations 
>> had terminated. This change slightly alter the test logic to check the 
>> shared client only at the end of the test when all methods have been 
>> executed, and focussed the checks performed by a test method to the only 
>> clients that this method is using. This may or may not prevent the observed 
>> issue to ever reproducing, but should at least provide more information on 
>> where the selector manager thread is at the time it is observed running, 
>> should the test fail again:
>> the logic of the HttpClient should have woken up the selector when the last 
>> operation finished, which should have ensured a prompt termination of the 
>> thread.
>> In addition this change fixes a small race condition in the logic that 
>> attempts to decide if the selector is still alive: the selector should be 
>> considered alive until its run() method has been called and has exited (or 
>> Thread::start has thrown).
>
> Daniel Fuchs has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Fixed race condition in detecting if selector is still alive

test/jdk/java/net/httpclient/ReferenceTracker.java line 248:

> 246:         if (fail != null) {
> 247:             if (printThreads && tracker.isSelectorAlive()) {
> 248:                 var msg = "Selector manager threads are still alive for 
> "  + tracker.getName() + ": ";

Nit:
Suggestion:

                var msg = "Selector manager threads are still alive for " + 
tracker.getName() + ": ";

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

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

Reply via email to