From e660c7d874b544108d2223bc6ea10a156edf7a77 Mon Sep 17 00:00:00 2001 From: zhangjidi2016 <1017543663@qq.com> Date: Wed, 17 Nov 2021 13:30:12 +0800 Subject: [PATCH] [ISSUE #42]Fix deleteSubscriptionGroup not remove consumer offset. (#45) Co-authored-by: zhangjidi2016 --- .../rocketmq/dashboard/service/client/MQAdminExtImpl.java | 5 +++-- .../rocketmq/dashboard/service/impl/ConsumerServiceImpl.java | 2 +- .../apache/rocketmq/dashboard/admin/MQAdminExtImplTest.java | 2 ++ 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/apache/rocketmq/dashboard/service/client/MQAdminExtImpl.java b/src/main/java/org/apache/rocketmq/dashboard/service/client/MQAdminExtImpl.java index 6b99e7a..5b76f99 100644 --- a/src/main/java/org/apache/rocketmq/dashboard/service/client/MQAdminExtImpl.java +++ b/src/main/java/org/apache/rocketmq/dashboard/service/client/MQAdminExtImpl.java @@ -278,8 +278,9 @@ public class MQAdminExtImpl implements MQAdminExt { } @Override - public void deleteSubscriptionGroup(String addr, String groupName, boolean removeOffset) throws RemotingException, MQBrokerException, InterruptedException, MQClientException { - throw new UnsupportedOperationException(); + public void deleteSubscriptionGroup(String addr, String groupName, boolean removeOffset) + throws RemotingException, MQBrokerException, InterruptedException, MQClientException { + MQAdminInstance.threadLocalMQAdminExt().deleteSubscriptionGroup(addr, groupName, removeOffset); } @Override diff --git a/src/main/java/org/apache/rocketmq/dashboard/service/impl/ConsumerServiceImpl.java b/src/main/java/org/apache/rocketmq/dashboard/service/impl/ConsumerServiceImpl.java index 4e6c637..2d60501 100644 --- a/src/main/java/org/apache/rocketmq/dashboard/service/impl/ConsumerServiceImpl.java +++ b/src/main/java/org/apache/rocketmq/dashboard/service/impl/ConsumerServiceImpl.java @@ -294,7 +294,7 @@ public class ConsumerServiceImpl extends AbstractCommonService implements Consum ClusterInfo clusterInfo = mqAdminExt.examineBrokerClusterInfo(); for (String brokerName : deleteSubGroupRequest.getBrokerNameList()) { logger.info("addr={} groupName={}", clusterInfo.getBrokerAddrTable().get(brokerName).selectBrokerAddr(), deleteSubGroupRequest.getGroupName()); - mqAdminExt.deleteSubscriptionGroup(clusterInfo.getBrokerAddrTable().get(brokerName).selectBrokerAddr(), deleteSubGroupRequest.getGroupName()); + mqAdminExt.deleteSubscriptionGroup(clusterInfo.getBrokerAddrTable().get(brokerName).selectBrokerAddr(), deleteSubGroupRequest.getGroupName(), true); } } catch (Exception e) { diff --git a/src/test/java/org/apache/rocketmq/dashboard/admin/MQAdminExtImplTest.java b/src/test/java/org/apache/rocketmq/dashboard/admin/MQAdminExtImplTest.java index 9cafc8f..1b6a33b 100644 --- a/src/test/java/org/apache/rocketmq/dashboard/admin/MQAdminExtImplTest.java +++ b/src/test/java/org/apache/rocketmq/dashboard/admin/MQAdminExtImplTest.java @@ -418,8 +418,10 @@ public class MQAdminExtImplTest { assertNotNull(mqAdminExtImpl); { doNothing().when(defaultMQAdminExt).deleteSubscriptionGroup(anyString(), anyString()); + doNothing().when(defaultMQAdminExt).deleteSubscriptionGroup(anyString(), anyString(), anyBoolean()); } mqAdminExtImpl.deleteSubscriptionGroup(brokerAddr, "group_test"); + mqAdminExtImpl.deleteSubscriptionGroup(brokerAddr, "group_test", true); } @Test