This is an automated email from the ASF dual-hosted git repository.

lhotari pushed a commit to branch branch-3.2
in repository https://gitbox.apache.org/repos/asf/pulsar.git


The following commit(s) were added to refs/heads/branch-3.2 by this push:
     new 7cc99dfff63 [improve][broker] Propagate cause exception in 
TopicBusyException when applicable (#22596)
7cc99dfff63 is described below

commit 7cc99dfff6397108890e671df52404645e1cbdd3
Author: Lari Hotari <[email protected]>
AuthorDate: Fri Apr 26 16:23:36 2024 +0300

    [improve][broker] Propagate cause exception in TopicBusyException when 
applicable (#22596)
    
    (cherry picked from commit 3b9602c04db5a6577e2dc2fabddbf7a6e1d1a4a2)
---
 .../java/org/apache/pulsar/broker/service/BrokerServiceException.java | 4 ++++
 .../pulsar/broker/service/nonpersistent/NonPersistentTopic.java       | 3 ++-
 .../org/apache/pulsar/broker/service/persistent/PersistentTopic.java  | 3 ++-
 3 files changed, 8 insertions(+), 2 deletions(-)

diff --git 
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/BrokerServiceException.java
 
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/BrokerServiceException.java
index 831d6068e20..6abe40f811d 100644
--- 
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/BrokerServiceException.java
+++ 
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/BrokerServiceException.java
@@ -146,6 +146,10 @@ public class BrokerServiceException extends Exception {
         public TopicBusyException(String msg) {
             super(msg);
         }
+
+        public TopicBusyException(String msg, Throwable t) {
+            super(msg, t);
+        }
     }
 
     public static class TopicNotFoundException extends BrokerServiceException {
diff --git 
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/nonpersistent/NonPersistentTopic.java
 
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/nonpersistent/NonPersistentTopic.java
index 5c75ec28c50..b0c6443332b 100644
--- 
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/nonpersistent/NonPersistentTopic.java
+++ 
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/nonpersistent/NonPersistentTopic.java
@@ -477,7 +477,8 @@ public class NonPersistentTopic extends AbstractTopic 
implements Topic, TopicPol
                 }
             }).exceptionally(ex -> {
                 deleteFuture.completeExceptionally(
-                        new TopicBusyException("Failed to close clients before 
deleting topic."));
+                        new TopicBusyException("Failed to close clients before 
deleting topic.",
+                                FutureUtil.unwrapCompletionException(ex)));
                 return null;
             });
         } finally {
diff --git 
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/persistent/PersistentTopic.java
 
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/persistent/PersistentTopic.java
index a76ac548e0c..3a1da8ccee7 100644
--- 
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/persistent/PersistentTopic.java
+++ 
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/persistent/PersistentTopic.java
@@ -1470,7 +1470,8 @@ public class PersistentTopic extends AbstractTopic 
implements Topic, AddEntryCal
                 }).exceptionally(ex->{
                     unfenceTopicToResume();
                     deleteFuture.completeExceptionally(
-                            new TopicBusyException("Failed to close clients 
before deleting topic."));
+                            new TopicBusyException("Failed to close clients 
before deleting topic.",
+                                    FutureUtil.unwrapCompletionException(ex)));
                     return null;
                 });
 

Reply via email to