Created an issue to track this:

JDK-8229983 <https://bugs.openjdk.java.net/browse/JDK-8229983> flatMap still prevents short circuiting when using .iterator()

Regards, Roger

On 8/20/19 4:55 AM, Stephen Buergler wrote:
Oops thanks.
So I think the issue is that StreamSpliterators.java has this line
bufferSink = ph.wrapSink(b::accept);
that creates a Sink that never returns true in cancellationRequested()
which is needed to get flatMap() to stop looping.

On Thu, Aug 15, 2019 at 7:43 PM David Holmes <david.hol...@oracle.com> wrote:
Re-directing to core-libs-dev

David

On 15/08/2019 7:48 pm, Stephen Buergler wrote:
Not really sure where to send this.
flatMap was fixed so that it doesn't prevent short circuiting.
https://bugs.openjdk.java.net/browse/JDK-8075939
If you replace the test cases in the ticket with versions that use
.iterator().next() instead of .findFirst().get() then the problem
still happens.
I just tested this with openjdk:14 on docker hub.


Reply via email to