On Mon, 14 Aug 2023 11:52:00 GMT, Doug Lea <[email protected]> wrote:
>> Addresses Jdk 8288899 : java/util/concurrent/ExecutorService/CloseTest.java
>> failed with "InterruptedException: sleep interrupted" and related issues.
>>
>> This is a major ForkJoin update (and hard to review -- sorry) that finally
>> addresses incompatibilities between ExecutorService and ForkJoinPool (which
>> claims to implement it), with the goal of avoiding continuing bug reports
>> and incompatibilities. Doing this required reworking internal control to use
>> phaser/seqlock-style versioning schemes (affecting nearly every method) that
>> ensure consistent data structures and actions without requiring global
>> synchronization or locking on every task execution that would massively
>> degrade performance. The previous lack of a solution to this was the main
>> reason for these incompatibilities.
>
> Doug Lea 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 45 additional commits since
> the last revision:
>
> - Merge branch 'openjdk:master' into JDK-8288899
> - Update @since tags
> - resync
> - Merge branch 'openjdk:master' into JDK-8288899
> - ExecutorService tests
> - Merge branch 'openjdk:master' into JDK-8288899
> - Rework versioning
> - Merge branch 'openjdk:master' into JDK-8288899
> - Merge branch 'openjdk:master' into JDK-8288899
> - Merge branch 'openjdk:master' into JDK-8288899
> - ... and 35 more: https://git.openjdk.org/jdk/compare/211154b9...585769c9
src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java line 1823:
> 1821: WorkQueue[] qs; int n;
> 1822: if ((qs = queues) != null && (n = qs.length) > 0) {
> 1823: for (int k = n, m = n - 1; ; id += 2) {
@DougLea Might make sense to create a constant each for worker-queue stride and
submission-queue stride so it becomes easier to reason about the `2` here.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/14301#discussion_r1297385745