RFR: 8331987: Enhance stacktrace clarity for CompletableFuture CancellationException [v2]

Daniel Fuchs dfuchs at openjdk.org
Wed May 15 09:50:14 UTC 2024


On Mon, 13 May 2024 23:59:17 GMT, Viktor Klang <vklang at openjdk.org> wrote:

>> This change adds wrapping of the CancellationException produced by CompletableFuture::get() and CompletableFuture::join() to add more diagnostic information and align better with FutureTask.
>> 
>> Running the sample code from the JBS issue in JShell will produce the following:
>> 
>> 
>> jshell> java.util.concurrent.CancellationException: get
>> 	at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:392)
>> 	at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2073)
>> 	at REPL.$JShell$18.m2($JShell$18.java:10)
>> 	at REPL.$JShell$17.m1($JShell$17.java:8)
>> 	at REPL.$JShell$16B.lambda$main$0($JShell$16B.java:8)
>> 	at java.base/java.lang.Thread.run(Thread.java:1575)
>> Caused by: java.util.concurrent.CancellationException
>> 	at java.base/java.util.concurrent.CompletableFuture.cancel(CompletableFuture.java:2510)
>> 	at REPL.$JShell$16B.lambda$main$1($JShell$16B.java:11)
>> 	... 1 more
>
> Viktor Klang has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Adding CancellationException detail message to CompletableFuture

LGTM

-------------

Marked as reviewed by dfuchs (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/19219#pullrequestreview-2057484574


More information about the core-libs-dev mailing list