-
Notifications
You must be signed in to change notification settings - Fork 129
8343426: ConcurrentSkipListMap.spliterator() can no longer split the stream #1895
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
👋 Welcome back ssubramaniam! A progress list of the required criteria for merging this PR into |
❗ This change is not yet ready to be integrated. |
This backport pull request has now been updated with issue from the original commit. |
|
/approval request for backport of JDK-8343426: ConcurrentSkipListMap.spliterator() can no longer split the stream Motivation: Without this change the trySplit() method for spliterators for ConcurrentSkipListMaps and ConcurrentSkipListSets using parallel streams will remain broken. With the change, the pre-Java 10 functionality will be restored, fixing the current buggy implementation. It's possible someone's written code that depends on the buggy implementation (which always returns null), but quite unlikely. Risk: Low. Ran GHA Sanity Checks, local Tier 1 and 2, and new test directly. Patch is clean. Change has been present in tip since November, 2024. |
Hi @satyenme
|
Took a look through the git history, having a hard time pinpointing the exact breaking change between Java 9 and 10. Planning to take a second look, in the meantime opened a PR for the referenced follow up issue: #1906. Will get that reviewed and re-create approval request here (and create one there) |
#1906 appears to include the JDK-8344253 backport. You can use "/issue add JDK-8344253" to update 1906 to include the 8344253 backport, then close this one in favor of 1906. |
Backporting JDK-8343426: ConcurrentSkipListMap.spliterator() can no longer split the stream. Since Java 10, the trySplit() method for spliterators for the ConcurrentSkipListMap always returned null, causing parallel streams to be broken for ConcurrentSkipListMap and ConcurrentSkipListSet since. This change fixes the logic for considering the head.node.next field in addition to head.node. Ran GHA Sanity Checks, local Tier 1 and 2, and new test directly. Patch is clean.
Progress
Issue
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk21u-dev.git pull/1895/head:pull/1895
$ git checkout pull/1895
Update a local copy of the PR:
$ git checkout pull/1895
$ git pull https://git.openjdk.org/jdk21u-dev.git pull/1895/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 1895
View PR using the GUI difftool:
$ git pr show -t 1895
Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk21u-dev/pull/1895.diff
Using Webrev
Link to Webrev Comment