This is an automated email from the ASF dual-hosted git repository. lhotari pushed a commit to branch branch-3.3 in repository https://gitbox.apache.org/repos/asf/pulsar.git
commit a8586832f931da0c00603cf0a41e33d69d986c70 Author: Qiang Zhao <[email protected]> AuthorDate: Mon Jun 2 03:50:24 2025 +0800 [fix][broker] expose consumer name for partitioned topic stats (#24360) (cherry picked from commit 1c308710840e1f15d4421d429202fc6d212bf31a) --- .../apache/pulsar/broker/admin/AdminApi2Test.java | 23 ++++++++++++++++++++++ .../policies/data/stats/ConsumerStatsImpl.java | 1 + 2 files changed, 24 insertions(+) diff --git a/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApi2Test.java b/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApi2Test.java index 81f321e9a9c..f88898b921f 100644 --- a/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApi2Test.java +++ b/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApi2Test.java @@ -1869,6 +1869,29 @@ public class AdminApi2Test extends MockedPulsarServiceBaseTest { } + + @Test + public void testPartitionedTopicStatsIncludeConsumerName() throws PulsarClientException, PulsarAdminException { + final String topic = "persistent://" + defaultNamespace + "/" + UUID.randomUUID(); + admin.topics().createPartitionedTopic(topic, 2); + final String subName = "sub-name"; + final String consumerName = "consumer-name"; + + @Cleanup + final PulsarClient client = PulsarClient.builder().serviceUrl(pulsar.getWebServiceAddress()).build(); + + @Cleanup + final Consumer<byte[]> consumer = client.newConsumer() + .topic(topic) + .subscriptionName(subName) + .consumerName(consumerName) + .subscribe(); + + final TopicStats topicStats = admin.topics().getPartitionedStats(topic, false); + + assertEquals(topicStats.getSubscriptions().get(subName).getConsumers().get(0).getConsumerName(), consumerName); + } + @Test public void testPreciseBacklogForPartitionedTopic() throws PulsarClientException, PulsarAdminException { final String topic = "persistent://" + defaultNamespace + "/precise-back-log-for-partitioned-topic"; diff --git a/pulsar-common/src/main/java/org/apache/pulsar/common/policies/data/stats/ConsumerStatsImpl.java b/pulsar-common/src/main/java/org/apache/pulsar/common/policies/data/stats/ConsumerStatsImpl.java index 548abdc9ada..53428d254c1 100644 --- a/pulsar-common/src/main/java/org/apache/pulsar/common/policies/data/stats/ConsumerStatsImpl.java +++ b/pulsar-common/src/main/java/org/apache/pulsar/common/policies/data/stats/ConsumerStatsImpl.java @@ -111,6 +111,7 @@ public class ConsumerStatsImpl implements ConsumerStats { this.unackedMessages += stats.unackedMessages; this.blockedConsumerOnUnackedMsgs = stats.blockedConsumerOnUnackedMsgs; this.readPositionWhenJoining = stats.readPositionWhenJoining; + this.consumerName = stats.consumerName; return this; }
