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.