You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by te...@apache.org on 2023/05/05 13:25:24 UTC
[pulsar] branch master updated: [fix][broker] Fix Return value of getPartitionedStats doesn't contain subscription type (#20210)
This is an automated email from the ASF dual-hosted git repository.
technoboy 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 4ac117ffc86 [fix][broker] Fix Return value of getPartitionedStats doesn't contain subscription type (#20210)
4ac117ffc86 is described below
commit 4ac117ffc86111e7c38ddadbf933c8be0749f507
Author: jack zhang <ja...@gmail.com>
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 e33108203cc..f0ac63f08ae 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
@@ -1266,6 +1266,24 @@ public class AdminApiTest extends MockedPulsarServiceBaseTest {
assertEquals(topicStats.getSubscriptions().get(subName).getBacklogSize(), 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 7ae439829b3..ea7639a8cd2 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
@@ -166,6 +166,7 @@ public class SubscriptionStatsImpl implements SubscriptionStats {
backlogSize = 0;
msgBacklogNoDelayed = 0;
unackedMessages = 0;
+ type = null;
msgRateExpired = 0;
totalMsgExpired = 0;
lastExpireTimestamp = 0L;
@@ -199,6 +200,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;