> The following patch updates Gatherers.mapConcurrent to limit work-in-progress > (on-going and completed-unpushed) to the `maxConcurrency` so that > head-of-line blocking does not cause completed-unpushed work to grow > unbounded. > > This also simplifies interruption handling to ignore-and-restore, which needs > to be done on a per-element-basis as the calling thread can change between > invocations of the integrator, as well as the finisher, so restoring it on > finish is not possible (and won't happen if there's an exception thrown > during integration anyway). > > Furthermore, logic has been added to reduce the risk of any spawned virtual > threads surviving the processing of the stream.
Viktor Klang has updated the pull request incrementally with one additional commit since the last revision: Addresses PR review feedback ------------- Changes: - all: https://git.openjdk.org/jdk/pull/22999/files - new: https://git.openjdk.org/jdk/pull/22999/files/80fc614b..887350bb Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=22999&range=01 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=22999&range=00-01 Stats: 10 lines in 2 files changed: 2 ins; 0 del; 8 mod Patch: https://git.openjdk.org/jdk/pull/22999.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/22999/head:pull/22999 PR: https://git.openjdk.org/jdk/pull/22999