This is an automated email from the ASF dual-hosted git repository.
lhotari pushed a commit to branch branch-3.1
in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/branch-3.1 by this push:
new d00d715f487 [improve][broker] Propagate cause exception in
TopicBusyException when applicable (#22596)
d00d715f487 is described below
commit d00d715f487c1a12d9756c0460f8648e3920903d
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 911ea7896b3..2bea208cc6a 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
@@ -472,7 +472,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 ee367750ad6..a473257e191 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
@@ -1442,7 +1442,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;
});