You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by pe...@apache.org on 2021/02/04 02:44:45 UTC
[pulsar] 07/09: Skip clear delayed messages while dispatch does not
init (#9378)
This is an automated email from the ASF dual-hosted git repository.
penghui pushed a commit to branch branch-2.7
in repository https://gitbox.apache.org/repos/asf/pulsar.git
commit dfef57de476e2891457b50c60ed6fc85e226d554
Author: lipenghui <pe...@apache.org>
AuthorDate: Wed Feb 3 11:48:21 2021 +0800
Skip clear delayed messages while dispatch does not init (#9378)
Fixes #9032
Skip clear delayed messages while dispatch does not init
New test added
(cherry picked from commit 2b8615c596cfc2c46da64681ab76d43cfa8b6b2a)
---
.../pulsar/broker/service/persistent/PersistentSubscription.java | 4 +++-
.../test/java/org/apache/pulsar/broker/admin/AdminApiTest2.java | 9 ++++++++-
2 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/persistent/PersistentSubscription.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/persistent/PersistentSubscription.java
index 2c87f02..da910a8 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/persistent/PersistentSubscription.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/persistent/PersistentSubscription.java
@@ -507,7 +507,9 @@ public class PersistentSubscription implements Subscription {
log.debug("[{}][{}] Backlog size after clearing: {}", topicName, subName,
cursor.getNumberOfEntriesInBacklog(false));
}
- dispatcher.clearDelayedMessages();
+ if (dispatcher != null) {
+ dispatcher.clearDelayedMessages();
+ }
future.complete(null);
}
diff --git a/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApiTest2.java b/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApiTest2.java
index 70d2542..5c177da 100644
--- a/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApiTest2.java
+++ b/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApiTest2.java
@@ -1658,5 +1658,12 @@ public class AdminApiTest2 extends MockedPulsarServiceBaseTest {
}
}
-
+ @Test
+ public void testClearBacklogForTheSubscriptionThatNoConsumers() throws Exception {
+ final String topic = "persistent://prop-xyz/ns1/clear_backlog_no_consumers" + UUID.randomUUID().toString();
+ final String sub = "my-sub";
+ admin.topics().createNonPartitionedTopic(topic);
+ admin.topics().createSubscription(topic, sub, MessageId.earliest);
+ admin.topics().skipAllMessages(topic, sub);
+ }
}