diff --git a/util/common/src/main/java/org/hibernate/search/util/common/impl/Futures.java b/util/common/src/main/java/org/hibernate/search/util/common/impl/Futures.java index e53b749002b..b0a5eb8f752 100644 --- a/util/common/src/main/java/org/hibernate/search/util/common/impl/Futures.java +++ b/util/common/src/main/java/org/hibernate/search/util/common/impl/Futures.java @@ -5,6 +5,7 @@ package org.hibernate.search.util.common.impl; import java.util.List; +import java.util.concurrent.CancellationException; import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletionException; import java.util.concurrent.CompletionStage; @@ -250,6 +251,12 @@ public static Throwable getThrowableNow(CompletableFuture future) { catch (CompletionException e) { return e.getCause(); } + catch (CancellationException e) { + if ( e.getCause() instanceof CancellationException originalCancelled ) { + return originalCancelled; + } + return e; + } catch (Throwable t) { return t; }