RFR: 8308038: java/util/concurrent/ThreadPerTaskExecutor/ThreadPerTaskExecutorTest.java timed out

Alan Bateman alanb at openjdk.org
Mon May 22 08:37:00 UTC 2023


This is a test only change to the unit test for the ExecutorService returned by Executors.newThreadPerTaskExecutor. The tests for interrupting invokeAll assume the threads started to execute the tasks do actually execute the task code. The refresh in JEP 444 changed the implementation to use FutureTask, and FutureTask checks the interrupt status before it executes the task code. So some intermittent timeouts of the tests for interrupting invokeAll as those tests were waiting for the task to complete.

The main change is that the tests for interrupting invokeAll are changed to interrupt when the main thread blocks in invokeAll. They are also changed to check if the task started or not. The tests for interrupting invokeAny already did this, but these are changed to use the same infrastructure to avoid having two styles of tests in the same source file.

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

Commit messages:
 - Update
 - Merge
 - Initial commit

Changes: https://git.openjdk.org/jdk/pull/14072/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=14072&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8308038
  Stats: 206 lines in 1 file changed: 87 ins; 57 del; 62 mod
  Patch: https://git.openjdk.org/jdk/pull/14072.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/14072/head:pull/14072

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


More information about the core-libs-dev mailing list