The proposed fix by @DougLea ensures that the state transition into waiting is retried in the cases where a previous waiter isn't making progress and a new waiter goes into waiting.
------------- Commit messages: - JDK-8300098 : java/util/concurrent/ConcurrentHashMap/ConcurrentAssociateTest.java fails with internal timeout when executed with TieredCompilation1/3 Changes: https://git.openjdk.org/jdk/pull/12319/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=12319&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8300098 Stats: 12 lines in 1 file changed: 2 ins; 2 del; 8 mod Patch: https://git.openjdk.org/jdk/pull/12319.diff Fetch: git fetch https://git.openjdk.org/jdk pull/12319/head:pull/12319 PR: https://git.openjdk.org/jdk/pull/12319