This is an automated email from the ASF dual-hosted git repository.
bogong pushed a commit to branch branch-2.9
in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/branch-2.9 by this push:
new d91b5e8a697 [improve][broker] Improve naming for delete topic error
(#16965)
d91b5e8a697 is described below
commit d91b5e8a6978997a80233a486ed703f74a7f8ed6
Author: Lei Zhiyuan <[email protected]>
AuthorDate: Sun Aug 14 18:17:31 2022 +0800
[improve][broker] Improve naming for delete topic error (#16965)
(cherry picked from commit d3dd143d109aba92a2144808b084fc34397c782e)
---
.../broker/service/nonpersistent/NonPersistentTopic.java | 3 ++-
.../pulsar/broker/service/persistent/PersistentTopic.java | 10 ++++++++--
.../src/test/java/org/apache/pulsar/schema/SchemaTest.java | 2 +-
3 files changed, 11 insertions(+), 4 deletions(-)
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 35b900c297c..f032e2415e1 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
@@ -389,7 +389,8 @@ public class NonPersistentTopic extends AbstractTopic
implements Topic {
if (failIfHasSubscriptions) {
if (!subscriptions.isEmpty()) {
isFenced = false;
- deleteFuture.completeExceptionally(new
TopicBusyException("Topic has subscriptions"));
+ deleteFuture.completeExceptionally(
+ new TopicBusyException("Topic has
subscriptions:" + subscriptions.keys()));
return;
}
} else {
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 2d154bc54f8..9491df7d446 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
@@ -1128,9 +1128,15 @@ public class PersistentTopic extends AbstractTopic
log.warn("[{}] Topic is already being closed or deleted",
topic);
return FutureUtil.failedFuture(new TopicFencedException("Topic
is already fenced"));
} else if (failIfHasSubscriptions && !subscriptions.isEmpty()) {
- return FutureUtil.failedFuture(new TopicBusyException("Topic
has subscriptions"));
+ return FutureUtil.failedFuture(
+ new TopicBusyException("Topic has subscriptions: " +
subscriptions.keys()));
} else if (failIfHasBacklogs && hasBacklogs()) {
- return FutureUtil.failedFuture(new TopicBusyException("Topic
has subscriptions did not catch up"));
+ List<String> backlogSubs =
+ subscriptions.values().stream()
+ .filter(sub ->
sub.getNumberOfEntriesInBacklog(false) > 0)
+
.map(PersistentSubscription::getName).collect(Collectors.toList());
+ return FutureUtil.failedFuture(
+ new TopicBusyException("Topic has subscriptions did
not catch up: " + backlogSubs));
}
fenceTopicToCloseOrDelete(); // Avoid clients reconnections while
deleting
diff --git
a/pulsar-broker/src/test/java/org/apache/pulsar/schema/SchemaTest.java
b/pulsar-broker/src/test/java/org/apache/pulsar/schema/SchemaTest.java
index 1a0921a8aea..e4c1b098ff4 100644
--- a/pulsar-broker/src/test/java/org/apache/pulsar/schema/SchemaTest.java
+++ b/pulsar-broker/src/test/java/org/apache/pulsar/schema/SchemaTest.java
@@ -793,7 +793,7 @@ public class SchemaTest extends MockedPulsarServiceBaseTest
{
admin.topics().delete(topic1, false, false);
fail();
} catch (Exception e) {
- assertTrue(e.getMessage().startsWith("Topic has active
producers/subscriptions"));
+ assertTrue(e.getMessage().startsWith("Topic has 2 connected
producers/consumers"));
}
assertEquals(this.getPulsar().getSchemaRegistryService()
.trimDeletedSchemaAndGetList(TopicName.get(topic1).getSchemaName()).get().size(),
2);