RFR 8129120 Terminal operation properties should not be back-propagated to upstream operations
Chris Hegarty
chris.hegarty at oracle.com
Mon Jun 22 18:16:36 UTC 2015
The source changes look good to me Paul. I only skimmed over the test changes, nothing popping out.
-Chris.
On 19 Jun 2015, at 17:07, Paul Sandoz <paul.sandoz at oracle.com> wrote:
> On Jun 19, 2015, at 2:04 PM, Paul Sandoz <Paul.Sandoz at oracle.com> wrote:
>> There are two main aspects to the webrev:
>>
>> 1) remove the back propagation logic, which simplifies the preparation of the pipeline for parallel execution and also cleans up a certain aspect of toArray optimisation that i had been meaning get around to (regarding how the pipeline is sliced in this case).
>>
>> 2) adjust the tests in UnorderedTest.
>> While i could of placed such tests in each corresponding op-specific test i thought it better to keep this focused, plus bulking out the op-specific tests in certain cases can increase the execution time (more specifically when certain HotSpot flags are used like -Xcomp).
>>
>
> I decided i am not happy with that testing approach. Sorry for the churn.
>
> It's possible to do much better and broaden the scope for all existing and future tests with two stream test scenarios for each stream type:
>
> 1) parallel forEach with synchronization when reporting an element; and
>
> 2) same as 1 but clearing the SIZED flag (which means certain stateful ops will take different execution routes).
>
> In such scenarios the expected result will be asserted against the actual result using an unordered contents assertion.
>
> There is now no need for the UnorderedTest, so i have removed it.
>
> I verified appropriate tests fail as expected without the fix applied.
>
> Webrev is updated in place:
>
> http://cr.openjdk.java.net/~psandoz/jdk9/JDK-8129120-flag-back-propagation/webrev/
>
> Paul.
More information about the core-libs-dev
mailing list