You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@inlong.apache.org by go...@apache.org on 2022/06/03 01:52:21 UTC
[incubator-inlong] branch master updated: [INLONG-3475][TubeMQ] Add an API for batch deletion of authorized consumer group records (#4502)
This is an automated email from the ASF dual-hosted git repository.
gosonzhang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-inlong.git
The following commit(s) were added to refs/heads/master by this push:
new ab8000cb6 [INLONG-3475][TubeMQ] Add an API for batch deletion of authorized consumer group records (#4502)
ab8000cb6 is described below
commit ab8000cb60f2d2509629d2872f8443079f662427
Author: gosonzhang <46...@qq.com>
AuthorDate: Fri Jun 3 09:52:15 2022 +0800
[INLONG-3475][TubeMQ] Add an API for batch deletion of authorized consumer group records (#4502)
---
.../web/handler/WebAdminGroupCtrlHandler.java | 93 ++++++++++++++++++++++
.../web/handler/WebGroupConsumeCtrlHandler.java | 38 +++++++++
2 files changed, 131 insertions(+)
diff --git a/inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/master/web/handler/WebAdminGroupCtrlHandler.java b/inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/master/web/handler/WebAdminGroupCtrlHandler.java
index e67688c3b..88d41fe3a 100644
--- a/inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/master/web/handler/WebAdminGroupCtrlHandler.java
+++ b/inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/master/web/handler/WebAdminGroupCtrlHandler.java
@@ -68,10 +68,14 @@ public class WebAdminGroupCtrlHandler extends AbstractWebHandler {
"adminBatchAddBlackGroupInfo");
registerModifyWebMethod("admin_delete_black_consumergroup_info",
"adminDeleteBlackGroupInfo");
+ registerModifyWebMethod("admin_batch_delete_black_consumergroup_info",
+ "adminBatchDeleteBlackGroupInfo");
registerModifyWebMethod("admin_add_authorized_consumergroup_info",
"adminAddConsumerGroupInfo");
registerModifyWebMethod("admin_delete_allowed_consumer_group_info",
"adminDeleteConsumerGroupInfo");
+ registerModifyWebMethod("admin_batch_del_authorized_consumergroup_info",
+ "adminBatchDelConsumerGroupInfo");
registerModifyWebMethod("admin_bath_add_authorized_consumergroup_info",
"adminBatchAddConsumerGroupInfo");
registerModifyWebMethod("admin_add_group_filtercond_info",
@@ -531,6 +535,52 @@ public class WebAdminGroupCtrlHandler extends AbstractWebHandler {
return buildRetInfo(retInfoList, sBuffer);
}
+ /**
+ * Batch delete black consumer group info
+ *
+ * @param req Http Servlet Request
+ * @param sBuffer string buffer
+ * @param result process result
+ * @return process result
+ */
+ public StringBuilder adminBatchDeleteBlackGroupInfo(HttpServletRequest req,
+ StringBuilder sBuffer,
+ ProcessResult result) {
+ // check and get operation info
+ if (!WebParameterUtils.getAUDBaseInfo(req, false, null, sBuffer, result)) {
+ WebParameterUtils.buildFailResult(sBuffer, result.getErrMsg());
+ return sBuffer;
+ }
+ BaseEntity opEntity = (BaseEntity) result.getRetData();
+ // check and get groupNameJsonSet info
+ if (!getGroupCsmJsonSetInfo(req, opEntity, null,
+ "Old API batch Disable consume", sBuffer, result)) {
+ WebParameterUtils.buildFailResult(sBuffer, result.getErrMsg());
+ return sBuffer;
+ }
+ Map<String, GroupConsumeCtrlEntity> addRecordMap =
+ (Map<String, GroupConsumeCtrlEntity>) result.getRetData();
+ // add or update and build result
+ GroupConsumeCtrlEntity ctrlEntity;
+ List<GroupProcessResult> retInfoList = new ArrayList<>();
+ for (GroupConsumeCtrlEntity entry : addRecordMap.values()) {
+ ctrlEntity = defMetaDataService.getConsumeCtrlByGroupAndTopic(
+ entry.getGroupName(), entry.getTopicName());
+ if (ctrlEntity != null
+ && ctrlEntity.getConsumeEnable() != EnableStatus.STATUS_ENABLE) {
+ retInfoList.add(defMetaDataService.insertConsumeCtrlInfo(opEntity,
+ entry.getGroupName(), entry.getTopicName(), Boolean.TRUE,
+ "Old API delete blacklist, enable consume",
+ null, null, sBuffer, result));
+ } else {
+ result.setFullInfo(true, DataOpErrCode.DERR_SUCCESS.getCode(), "Ok");
+ retInfoList.add(new GroupProcessResult(
+ entry.getGroupName(), entry.getTopicName(), result));
+ }
+ }
+ return buildRetInfo(retInfoList, sBuffer);
+ }
+
/**
* Add authorized consumer group info
*
@@ -701,6 +751,49 @@ public class WebAdminGroupCtrlHandler extends AbstractWebHandler {
return buildRetInfo(retInfoList, sBuffer);
}
+ /**
+ * Delete authorized consumer group info in batch
+ *
+ * @param req Http Servlet Request
+ * @param sBuffer string buffer
+ * @param result process result
+ * @return process result
+ */
+ public StringBuilder adminBatchDelConsumerGroupInfo(HttpServletRequest req,
+ StringBuilder sBuffer,
+ ProcessResult result) {
+ // check and get operation info
+ if (!WebParameterUtils.getAUDBaseInfo(req, false, null, sBuffer, result)) {
+ WebParameterUtils.buildFailResult(sBuffer, result.getErrMsg());
+ return sBuffer;
+ }
+ BaseEntity opEntity = (BaseEntity) result.getRetData();
+ // check and get groupNameJsonSet info
+ if (!getGroupCsmJsonSetInfo(req, opEntity, Boolean.FALSE,
+ "Old API batch delete Authorized Consume", sBuffer, result)) {
+ WebParameterUtils.buildFailResult(sBuffer, result.getErrMsg());
+ return sBuffer;
+ }
+ Map<String, GroupConsumeCtrlEntity> addRecordMap =
+ (Map<String, GroupConsumeCtrlEntity>) result.getRetData();
+ // add or update and build result
+ GroupConsumeCtrlEntity ctrlEntity;
+ List<GroupProcessResult> retInfoList = new ArrayList<>();
+ for (GroupConsumeCtrlEntity entry : addRecordMap.values()) {
+ ctrlEntity = defMetaDataService.getConsumeCtrlByGroupAndTopic(
+ entry.getGroupName(), entry.getTopicName());
+ if (ctrlEntity != null
+ && ctrlEntity.getConsumeEnable() == EnableStatus.STATUS_ENABLE) {
+ retInfoList.add(defMetaDataService.insertConsumeCtrlInfo(entry, sBuffer, result));
+ } else {
+ result.setFullInfo(true, DataOpErrCode.DERR_SUCCESS.getCode(), "Ok");
+ retInfoList.add(new GroupProcessResult(entry.getGroupName(),
+ entry.getTopicName(), result));
+ }
+ }
+ return buildRetInfo(retInfoList, sBuffer);
+ }
+
/**
* Add group filter condition info
*
diff --git a/inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/master/web/handler/WebGroupConsumeCtrlHandler.java b/inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/master/web/handler/WebGroupConsumeCtrlHandler.java
index 5432697c4..18b527677 100644
--- a/inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/master/web/handler/WebGroupConsumeCtrlHandler.java
+++ b/inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/master/web/handler/WebGroupConsumeCtrlHandler.java
@@ -53,6 +53,8 @@ public class WebGroupConsumeCtrlHandler extends AbstractWebHandler {
"adminBatchModGroupConsumeCtrlInfo");
registerModifyWebMethod("admin_delete_group_csmctrl_info",
"adminDelGroupConsumeCtrlInfo");
+ registerModifyWebMethod("admin_batch_delete_group_csmctrl_info",
+ "adminBatchDelGroupConsumeCtrlInfo");
}
/**
@@ -257,6 +259,42 @@ public class WebGroupConsumeCtrlHandler extends AbstractWebHandler {
return sBuffer;
}
+ /**
+ * Batch delete group consume configure info
+ *
+ * @param req Http Servlet Request
+ * @param sBuffer string buffer
+ * @param result process result
+ * @return process result
+ */
+ public StringBuilder adminBatchDelGroupConsumeCtrlInfo(HttpServletRequest req,
+ StringBuilder sBuffer,
+ ProcessResult result) {
+ // check and get operation info
+ if (!WebParameterUtils.getAUDBaseInfo(req, false, null, sBuffer, result)) {
+ WebParameterUtils.buildFailResult(sBuffer, result.getErrMsg());
+ return sBuffer;
+ }
+ BaseEntity opEntity = (BaseEntity) result.getRetData();
+ // check and get groupCsmJsonSet data
+ if (!getGroupConsumeJsonSetInfo(req, false, opEntity, sBuffer, result)) {
+ WebParameterUtils.buildFailResult(sBuffer, result.getErrMsg());
+ return sBuffer;
+ }
+ Map<String, GroupConsumeCtrlEntity> batchAddInfoMap =
+ (Map<String, GroupConsumeCtrlEntity>) result.getRetData();
+ // delete group consume control records
+ List<GroupProcessResult> retInfo = new ArrayList<>();
+ for (GroupConsumeCtrlEntity ctrlEntity : batchAddInfoMap.values()) {
+ defMetaDataService.delConsumeCtrlConf(opEntity.getModifyUser(),
+ ctrlEntity.getGroupName(), ctrlEntity.getTopicName(), sBuffer, result);
+ retInfo.add(new GroupProcessResult(ctrlEntity.getGroupName(),
+ ctrlEntity.getTopicName(), result));
+ }
+ buildRetInfo(retInfo, sBuffer);
+ return sBuffer;
+ }
+
private StringBuilder innAddOrUpdGroupConsumeCtrlInfo(HttpServletRequest req,
StringBuilder sBuffer,
ProcessResult result,