This is an automated email from the ASF dual-hosted git repository.
technoboy 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 e1883bf7c09 [fix][broker] Fix Return value of getPartitionedStats
doesn't contain subscription type (#20210)
e1883bf7c09 is described below
commit e1883bf7c09f5ba8de38bc82b3a2396bbf2e06d7
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 8d58eae59a3..45758ba5926 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
@@ -1215,6 +1215,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 2fba83bd901..1301ebc6994 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
@@ -163,6 +163,7 @@ public class SubscriptionStatsImpl implements
SubscriptionStats {
backlogSize = 0;
msgBacklogNoDelayed = 0;
unackedMessages = 0;
+ type = null;
msgRateExpired = 0;
totalMsgExpired = 0;
lastExpireTimestamp = 0L;
@@ -195,6 +196,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;