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.

-Chris.


Paul.

Reply via email to