RFR 8056249 Improve CompletableFuture resource usage

Chris Hegarty chris.hegarty at oracle.com
Fri Aug 29 13:38:15 UTC 2014

On 29/08/14 11:01, Paul Sandoz wrote:
> Hi,
> Please review fixes by Doug to j.u.c.CompletableFuture to better control resources for long completion chains (e.g. avoiding stack overflows). This fix resulted in a lot of internal refactoring and clean up.  There are also some doc clarifications for certain j.u.c.CompletationStage exception handling methods (which most likely means a CCC is required).

IMHO, the rewording and clarifications in the docs do not warrant a CCC.

 From what I can see, these cases are already covered by JCK tests. In 
the case of handle() then the returned CF mush complete with the 
function's result, given the method signature. This is just the docs 
explicitly stating what is already a given.

>    https://bugs.openjdk.java.net/browse/JDK-8056249
>    http://cr.openjdk.java.net/~psandoz/jdk9/JDK-8056249-cf-resource-usage/webrev/
> --
> Is the following snippet missing from the doc updates to the methods CompletationStage.handle and handleAsync?
>    If the supplied function itself encounters an
>    exception, then the returned stage exceptionally completes with this
>    exception unless this stage also completed exceptionally.

I don't think so.  Whether, or not, this CF completes exceptionally will 
have no impact of the result of the returned CF.

You could add all of what you suggested less, "unless this stage also 
completed exceptionally", but I don't think that is even necessary. I 
think it is already covered by "the function's result is used to 
complete the returned stage", function's result could be an exception. 
But I guess you could be explicit.


> Paul.

More information about the core-libs-dev mailing list