RFR: 8297200: java/net/httpclient/SpecialHeadersTest.java failed once in AssertionError due to selector thread remaining alive [v5]

Daniel Fuchs dfuchs at openjdk.org
Mon Nov 28 17:57:52 UTC 2022


> 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 with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains seven additional commits since the last revision:

 - Merge branch 'master' into SpecialHeadersTest-8297200
 - thrown should be thrown
 - Merge branch 'master' into SpecialHeadersTest-8297200
 - Update test/jdk/java/net/httpclient/ReferenceTracker.java
   
   Co-authored-by: Andrey Turbanov <turbanoff at gmail.com>
 - Fixed race condition in detecting if selector is still alive
 - 8297200
 - 8297200

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/11294/files
  - new: https://git.openjdk.org/jdk/pull/11294/files/01fab390..77f1a9aa

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=11294&range=04
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=11294&range=03-04

  Stats: 4512 lines in 107 files changed: 3478 ins; 609 del; 425 mod
  Patch: https://git.openjdk.org/jdk/pull/11294.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/11294/head:pull/11294

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


More information about the net-dev mailing list