This is an automated email from the ASF dual-hosted git repository.
lhotari pushed a commit to branch branch-2.11
in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/branch-2.11 by this push:
new 82308b95f59 [improve][broker] Propagate cause exception in
TopicBusyException when applicable (#22596)
82308b95f59 is described below
commit 82308b95f5935a65f0098e77e143d48cf2ef2d8c
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 c6d8ffabcec..04146383c1f 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
@@ -132,6 +132,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 dd7815ef98b..5e3b3d8bd39 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
@@ -455,7 +455,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 d8c1629003b..71696007049 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
@@ -1311,7 +1311,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;
});
} finally {