This is an automated email from the ASF dual-hosted git repository.
xiangying pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/master by this push:
new b3119613dd6 [fix][broker] Fix uncompleted future when get the topic
policies of a deleted topic (#18824)
b3119613dd6 is described below
commit b3119613dd66038399eb4e354d6621bfe152cace
Author: Xiangying Meng <[email protected]>
AuthorDate: Fri Dec 9 12:41:57 2022 +0800
[fix][broker] Fix uncompleted future when get the topic policies of a
deleted topic (#18824)
### Motivation
Fix the uncompleted future when getting the topic policies of a deleted
topic.
https://github.com/apache/pulsar/blob/30b52a1ac11b4be485258140a167b5e635586a36/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/SystemTopicBasedTopicPoliciesService.java#L513-L535
### Modification
`future.complete(null);` when `msg.getValue() == null`.
---
.../service/SystemTopicBasedTopicPoliciesService.java | 2 ++
.../apache/pulsar/broker/admin/TopicPoliciesTest.java | 17 +++++++++++++++++
2 files changed, 19 insertions(+)
diff --git
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/SystemTopicBasedTopicPoliciesService.java
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/SystemTopicBasedTopicPoliciesService.java
index a24b1eeee10..d4c41230daf 100644
---
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/SystemTopicBasedTopicPoliciesService.java
+++
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/SystemTopicBasedTopicPoliciesService.java
@@ -528,6 +528,8 @@ public class SystemTopicBasedTopicPoliciesService
implements TopicPoliciesServic
} else {
fetchTopicPoliciesAsyncAndCloseReader(reader,
topicName, policies, future);
}
+ } else {
+ future.complete(null);
}
});
} else {
diff --git
a/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/TopicPoliciesTest.java
b/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/TopicPoliciesTest.java
index d47c918cf6a..94cd299e475 100644
---
a/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/TopicPoliciesTest.java
+++
b/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/TopicPoliciesTest.java
@@ -3092,4 +3092,21 @@ public class TopicPoliciesTest extends
MockedPulsarServiceBaseTest {
Awaitility.await().untilAsserted(() ->
assertNull(admin.topics().getShadowTopics(sourceTopic)));
}
+ @Test
+ public void testGetTopicPoliciesWhenDeleteTopicPolicy() throws Exception {
+ admin.topics().createNonPartitionedTopic(persistenceTopic);
+ admin.topicPolicies().setMaxConsumers(persistenceTopic, 5);
+
+ Integer maxConsumerPerTopic = pulsar
+ .getTopicPoliciesService()
+
.getTopicPoliciesBypassCacheAsync(TopicName.get(persistenceTopic)).get()
+ .getMaxConsumerPerTopic();
+
+ assertEquals(maxConsumerPerTopic, 5);
+ admin.topics().delete(persistenceTopic, true);
+ TopicPolicies topicPolicies =pulsar.getTopicPoliciesService()
+
.getTopicPoliciesBypassCacheAsync(TopicName.get(persistenceTopic)).get(5,
TimeUnit.SECONDS);
+ assertNull(topicPolicies);
+ }
+
}