You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by ji...@apache.org on 2022/11/29 06:08:30 UTC

[rocketmq] branch develop updated: [ISSUE #4487] The trackType is wrong when the consumer in broadcasting subscription (#5609)

This is an automated email from the ASF dual-hosted git repository.

jinrongtong pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/rocketmq.git


The following commit(s) were added to refs/heads/develop by this push:
     new 48b7ece98 [ISSUE #4487] The trackType is wrong when the consumer in broadcasting subscription (#5609)
48b7ece98 is described below

commit 48b7ece9864f026a226a95871a5390b47b698093
Author: zhangjidi2016 <10...@qq.com>
AuthorDate: Tue Nov 29 14:08:18 2022 +0800

    [ISSUE #4487] The trackType is wrong when the consumer in broadcasting subscription (#5609)
    
    Co-authored-by: zhangjidi <zh...@cmss.chinamobile.com>
---
 .../apache/rocketmq/tools/admin/DefaultMQAdminExtImpl.java | 14 ++++++++++++--
 .../tools/admin/common/AdminToolsResultCodeEnum.java       |  3 ++-
 2 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/tools/src/main/java/org/apache/rocketmq/tools/admin/DefaultMQAdminExtImpl.java b/tools/src/main/java/org/apache/rocketmq/tools/admin/DefaultMQAdminExtImpl.java
index be927fc3a..5f3bcbd38 100644
--- a/tools/src/main/java/org/apache/rocketmq/tools/admin/DefaultMQAdminExtImpl.java
+++ b/tools/src/main/java/org/apache/rocketmq/tools/admin/DefaultMQAdminExtImpl.java
@@ -549,8 +549,18 @@ public class DefaultMQAdminExtImpl implements MQAdminExt, MQAdminExtInner {
                 }
 
                 if (result.getOffsetTable().isEmpty()) {
-                    return AdminToolResult.failure(AdminToolsResultCodeEnum.CONSUMER_NOT_ONLINE, "Not found the "
-                        + "consumer group consume stats, because return offset table is empty, maybe the consumer not consume any message");
+                    ConsumerConnection connection;
+                    try {
+                        connection = examineConsumerConnectionInfo(consumerGroup);
+                    } catch (Exception e) {
+                        return AdminToolResult.failure(AdminToolsResultCodeEnum.CONSUMER_NOT_ONLINE, "Not found the "
+                            + "consumer group consume stats, because return offset table is empty, maybe the consumer not consume any message");
+                    }
+
+                    if (connection.getMessageModel().equals(MessageModel.BROADCASTING)) {
+                        return AdminToolResult.failure(AdminToolsResultCodeEnum.BROADCAST_CONSUMPTION, "Not found the "
+                            + "consumer group consume stats, because return offset table is empty, the consumer is under the broadcast mode");
+                    }
                 }
                 return AdminToolResult.success(result);
             }
diff --git a/tools/src/main/java/org/apache/rocketmq/tools/admin/common/AdminToolsResultCodeEnum.java b/tools/src/main/java/org/apache/rocketmq/tools/admin/common/AdminToolsResultCodeEnum.java
index 95988458a..275d9e5dd 100644
--- a/tools/src/main/java/org/apache/rocketmq/tools/admin/common/AdminToolsResultCodeEnum.java
+++ b/tools/src/main/java/org/apache/rocketmq/tools/admin/common/AdminToolsResultCodeEnum.java
@@ -29,7 +29,8 @@ public enum AdminToolsResultCodeEnum {
     INTERRUPT_ERROR(-1004),
 
     TOPIC_ROUTE_INFO_NOT_EXIST(-2001),
-    CONSUMER_NOT_ONLINE(-2002);
+    CONSUMER_NOT_ONLINE(-2002),
+    BROADCAST_CONSUMPTION(-2003);
 
     private int code;