This is an automated email from the ASF dual-hosted git repository.
technoboy pushed a commit to branch branch-2.10
in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/branch-2.10 by this push:
new ec2b084e27d [fix][broker] Fix Return value of getPartitionedStats
doesn't contain subscription type (#20210)
ec2b084e27d is described below
commit ec2b084e27d8c8af9cf7657215c992ec60224168
Author: jack zhang <[email protected]>
AuthorDate: Fri May 5 21:25:14 2023 +0800
[fix][broker] Fix Return value of getPartitionedStats doesn't contain
subscription type (#20210)
---
.../org/apache/pulsar/broker/admin/AdminApiTest.java | 18 ++++++++++++++++++
.../policies/data/stats/SubscriptionStatsImpl.java | 2 ++
2 files changed, 20 insertions(+)
diff --git
a/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApiTest.java
b/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApiTest.java
index 7206de36090..d7105224c1d 100644
---
a/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApiTest.java
+++
b/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApiTest.java
@@ -1192,6 +1192,24 @@ public class AdminApiTest extends
MockedPulsarServiceBaseTest {
assertEquals(topicStats.getSubscriptions().get(subName).getEarliestMsgPublishTimeInBacklog(),
0);
}
+ @Test
+ public void testGetPartitionedStatsContainSubscriptionType() throws
Exception {
+ final String topic = "persistent://prop-xyz/ns1/my-topic" +
UUID.randomUUID();
+ final int numPartitions = 4;
+ admin.topics().createPartitionedTopic(topic, numPartitions);
+
+ // create consumer and subscription
+ final String subName = "my-sub";
+ @Cleanup Consumer<byte[]> exclusiveConsumer =
pulsarClient.newConsumer().topic(topic)
+ .subscriptionName(subName)
+ .subscriptionType(SubscriptionType.Exclusive)
+ .subscribe();
+
+ TopicStats topicStats = admin.topics().getPartitionedStats(topic,
false);
+ assertEquals(topicStats.getSubscriptions().size(), 1);
+ assertEquals(topicStats.getSubscriptions().get(subName).getType(),
SubscriptionType.Exclusive.toString());
+ }
+
@Test
public void testGetPartitionedStatsInternal() throws Exception {
diff --git
a/pulsar-common/src/main/java/org/apache/pulsar/common/policies/data/stats/SubscriptionStatsImpl.java
b/pulsar-common/src/main/java/org/apache/pulsar/common/policies/data/stats/SubscriptionStatsImpl.java
index ebe10050e99..66c1e3486c6 100644
---
a/pulsar-common/src/main/java/org/apache/pulsar/common/policies/data/stats/SubscriptionStatsImpl.java
+++
b/pulsar-common/src/main/java/org/apache/pulsar/common/policies/data/stats/SubscriptionStatsImpl.java
@@ -148,6 +148,7 @@ public class SubscriptionStatsImpl implements
SubscriptionStats {
backlogSize = 0;
msgBacklogNoDelayed = 0;
unackedMessages = 0;
+ type = null;
msgRateExpired = 0;
totalMsgExpired = 0;
lastExpireTimestamp = 0L;
@@ -175,6 +176,7 @@ public class SubscriptionStatsImpl implements
SubscriptionStats {
this.msgBacklogNoDelayed += stats.msgBacklogNoDelayed;
this.msgDelayed += stats.msgDelayed;
this.unackedMessages += stats.unackedMessages;
+ this.type = stats.type;
this.msgRateExpired += stats.msgRateExpired;
this.totalMsgExpired += stats.totalMsgExpired;
this.isReplicated |= stats.isReplicated;