diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/web/PulsarWebResource.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/web/PulsarWebResource.java index 1183792729782..85605e201a07b 100644 --- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/web/PulsarWebResource.java +++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/web/PulsarWebResource.java @@ -907,10 +907,11 @@ public static CompletableFuture checkLocalOrGetPeerReplicationC validationFuture.completeExceptionally(new RestException(Status.NOT_FOUND, "Namespace not found")); } }).exceptionally(ex -> { + Throwable cause = FutureUtil.unwrapCompletionException(ex); String msg = String.format("Failed to validate global cluster configuration : cluster=%s ns=%s emsg=%s", - localCluster, namespace, ex.getMessage()); + localCluster, namespace, cause.getMessage()); log.error(msg); - validationFuture.completeExceptionally(new RestException(ex)); + validationFuture.completeExceptionally(new RestException(cause)); return null; }); return validationFuture;