This is an automated email from the ASF dual-hosted git repository.
dockerzhang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/inlong.git
The following commit(s) were added to refs/heads/master by this push:
new 30388047b [INLONG-6108][TubeMQ] Added booked consume group query APIs
(#6109)
30388047b is described below
commit 30388047b957475107ac4c6566a135735c4fd440
Author: Goson Zhang <[email protected]>
AuthorDate: Sun Oct 9 17:51:02 2022 +0800
[INLONG-6108][TubeMQ] Added booked consume group query APIs (#6109)
---
.../web/handler/WebGroupConsumeCtrlHandler.java | 182 +++++++++++++--------
.../master/web/handler/WebGroupResCtrlHandler.java | 161 +++++++++++-------
2 files changed, 217 insertions(+), 126 deletions(-)
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 347a46183..a2b60675b 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
@@ -42,6 +42,9 @@ public class WebGroupConsumeCtrlHandler extends
AbstractWebHandler {
// register query method
registerQueryWebMethod("admin_query_group_csmctrl_info",
"adminQueryGroupConsumeCtrlInfo");
+ registerQueryWebMethod("admin_query_booked_csmctrl_groups",
+ "adminQueryBookedConsumeCtrlGroups");
+
// register modify method
registerModifyWebMethod("admin_add_group_csmctrl_info",
"adminAddGroupConsumeCtrlInfo");
@@ -57,83 +60,32 @@ public class WebGroupConsumeCtrlHandler extends
AbstractWebHandler {
"adminBatchDelGroupConsumeCtrlInfo");
}
+ /**
+ * query booked consume-control group set
+ *
+ * @param req Http Servlet Request
+ * @param strBuff string buffer
+ * @param result process result
+ * @return process result
+ */
+ public StringBuilder adminQueryBookedConsumeCtrlGroups(HttpServletRequest
req,
+ StringBuilder
strBuff,
+ ProcessResult
result) {
+ return innQueryGroupConsumeCtrlInfo(req, strBuff, result, true);
+ }
+
/**
* query group consume control info
*
* @param req Http Servlet Request
- * @param sBuffer string buffer
+ * @param strBuff string buffer
* @param result process result
* @return process result
*/
public StringBuilder adminQueryGroupConsumeCtrlInfo(HttpServletRequest req,
- StringBuilder sBuffer,
+ StringBuilder strBuff,
ProcessResult result) {
- // build query entity
- GroupConsumeCtrlEntity qryEntity = new GroupConsumeCtrlEntity();
- // get queried operation info, for createUser, modifyUser,
dataVersionId
- if (!WebParameterUtils.getQueriedOperateInfo(req, qryEntity, sBuffer,
result)) {
- WebParameterUtils.buildFailResult(sBuffer, result.getErrMsg());
- return sBuffer;
- }
- // get group list
- if (!WebParameterUtils.getStringParamValue(req,
- WebFieldDef.COMPSGROUPNAME, false, null, sBuffer, result)) {
- WebParameterUtils.buildFailResult(sBuffer, result.getErrMsg());
- return sBuffer;
- }
- final Set<String> groupSet = (Set<String>) result.getRetData();
- // check and get topicName field
- if (!WebParameterUtils.getStringParamValue(req,
- WebFieldDef.COMPSTOPICNAME, false, null, sBuffer, result)) {
- WebParameterUtils.buildFailResult(sBuffer, result.getErrMsg());
- return sBuffer;
- }
- final Set<String> topicNameSet = (Set<String>) result.getRetData();
- // get consumeEnable info
- if (!WebParameterUtils.getBooleanParamValue(req,
- WebFieldDef.CONSUMEENABLE, false, null, sBuffer, result)) {
- WebParameterUtils.buildFailResult(sBuffer, result.getErrMsg());
- return sBuffer;
- }
- final Boolean consumeEnable = (Boolean) result.getRetData();
- // get filterEnable info
- if (!WebParameterUtils.getBooleanParamValue(req,
- WebFieldDef.FILTERENABLE, false, null, sBuffer, result)) {
- WebParameterUtils.buildFailResult(sBuffer, result.getErrMsg());
- return sBuffer;
- }
- Boolean filterEnable = (Boolean) result.getRetData();
- // get filterConds info
- if (!WebParameterUtils.getFilterCondSet(req, false, true, sBuffer,
result)) {
- WebParameterUtils.buildFailResult(sBuffer, result.getErrMsg());
- return sBuffer;
- }
- Set<String> filterCondSet = (Set<String>) result.getRetData();
- qryEntity.updModifyInfo(qryEntity.getDataVerId(),
- consumeEnable, null, filterEnable, null);
- Map<String, List<GroupConsumeCtrlEntity>> qryResultMap =
- defMetaDataService.getGroupConsumeCtrlConf(groupSet,
topicNameSet, qryEntity);
- // build return result
- int totalCnt = 0;
- WebParameterUtils.buildSuccessWithDataRetBegin(sBuffer);
- for (List<GroupConsumeCtrlEntity> consumeCtrlEntityList :
qryResultMap.values()) {
- if (consumeCtrlEntityList == null ||
consumeCtrlEntityList.isEmpty()) {
- continue;
- }
- for (GroupConsumeCtrlEntity entity : consumeCtrlEntityList) {
- if (entity == null
- || !WebParameterUtils.isFilterSetFullIncluded(
- filterCondSet, entity.getFilterCondStr())) {
- continue;
- }
- if (totalCnt++ > 0) {
- sBuffer.append(",");
- }
- entity.toWebJsonStr(sBuffer, true, true);
- }
- }
- WebParameterUtils.buildSuccessWithDataRetEnd(sBuffer, totalCnt);
- return sBuffer;
+ return innQueryGroupConsumeCtrlInfo(req, strBuff, result, false);
}
/**
@@ -295,6 +247,100 @@ public class WebGroupConsumeCtrlHandler extends
AbstractWebHandler {
return sBuffer;
}
+ /**
+ * query group consume control info
+ *
+ * @param req Http Servlet Request
+ * @param strBuff string buffer
+ * @param result process result
+ * @param onlyRetGroup only return group name
+ * @return process result
+ */
+ private StringBuilder innQueryGroupConsumeCtrlInfo(HttpServletRequest req,
+ StringBuilder strBuff,
+ ProcessResult result,
+ boolean onlyRetGroup) {
+ // build query entity
+ GroupConsumeCtrlEntity qryEntity = new GroupConsumeCtrlEntity();
+ // get queried operation info, for createUser, modifyUser,
dataVersionId
+ if (!WebParameterUtils.getQueriedOperateInfo(req, qryEntity, strBuff,
result)) {
+ WebParameterUtils.buildFailResult(strBuff, result.getErrMsg());
+ return strBuff;
+ }
+ // get group list
+ if (!WebParameterUtils.getStringParamValue(req,
+ WebFieldDef.COMPSGROUPNAME, false, null, strBuff, result)) {
+ WebParameterUtils.buildFailResult(strBuff, result.getErrMsg());
+ return strBuff;
+ }
+ final Set<String> groupSet = (Set<String>) result.getRetData();
+ // check and get topicName field
+ if (!WebParameterUtils.getStringParamValue(req,
+ WebFieldDef.COMPSTOPICNAME, false, null, strBuff, result)) {
+ WebParameterUtils.buildFailResult(strBuff, result.getErrMsg());
+ return strBuff;
+ }
+ final Set<String> topicNameSet = (Set<String>) result.getRetData();
+ // get consumeEnable info
+ if (!WebParameterUtils.getBooleanParamValue(req,
+ WebFieldDef.CONSUMEENABLE, false, null, strBuff, result)) {
+ WebParameterUtils.buildFailResult(strBuff, result.getErrMsg());
+ return strBuff;
+ }
+ final Boolean consumeEnable = (Boolean) result.getRetData();
+ // get filterEnable info
+ if (!WebParameterUtils.getBooleanParamValue(req,
+ WebFieldDef.FILTERENABLE, false, null, strBuff, result)) {
+ WebParameterUtils.buildFailResult(strBuff, result.getErrMsg());
+ return strBuff;
+ }
+ Boolean filterEnable = (Boolean) result.getRetData();
+ // get filterConds info
+ if (!WebParameterUtils.getFilterCondSet(req, false, true, strBuff,
result)) {
+ WebParameterUtils.buildFailResult(strBuff, result.getErrMsg());
+ return strBuff;
+ }
+ Set<String> filterCondSet = (Set<String>) result.getRetData();
+ // query matched records
+ qryEntity.updModifyInfo(qryEntity.getDataVerId(),
+ consumeEnable, null, filterEnable, null);
+ Map<String, List<GroupConsumeCtrlEntity>> qryResultMap =
+ defMetaDataService.getGroupConsumeCtrlConf(groupSet,
topicNameSet, qryEntity);
+ // build return result
+ int totalCnt = 0;
+ WebParameterUtils.buildSuccessWithDataRetBegin(strBuff);
+ if (onlyRetGroup) {
+ for (String groupName : qryResultMap.keySet()) {
+ if (groupName == null) {
+ continue;
+ }
+ if (totalCnt++ > 0) {
+ strBuff.append(",");
+ }
+ strBuff.append("\"").append(groupName).append("\"");
+ }
+ } else {
+ for (List<GroupConsumeCtrlEntity> consumeCtrlEntityList :
qryResultMap.values()) {
+ if (consumeCtrlEntityList == null ||
consumeCtrlEntityList.isEmpty()) {
+ continue;
+ }
+ for (GroupConsumeCtrlEntity entity : consumeCtrlEntityList) {
+ if (entity == null
+ || !WebParameterUtils.isFilterSetFullIncluded(
+ filterCondSet, entity.getFilterCondStr())) {
+ continue;
+ }
+ if (totalCnt++ > 0) {
+ strBuff.append(",");
+ }
+ entity.toWebJsonStr(strBuff, true, true);
+ }
+ }
+ }
+ WebParameterUtils.buildSuccessWithDataRetEnd(strBuff, totalCnt);
+ return strBuff;
+ }
+
private StringBuilder innAddOrUpdGroupConsumeCtrlInfo(HttpServletRequest
req,
StringBuilder
sBuffer,
ProcessResult result,
diff --git
a/inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/master/web/handler/WebGroupResCtrlHandler.java
b/inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/master/web/handler/WebGroupResCtrlHandler.java
index 9b23c86a1..6102e93e2 100644
---
a/inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/master/web/handler/WebGroupResCtrlHandler.java
+++
b/inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/master/web/handler/WebGroupResCtrlHandler.java
@@ -44,6 +44,9 @@ public class WebGroupResCtrlHandler extends
AbstractWebHandler {
// register query method
registerQueryWebMethod("admin_query_group_resctrl_info",
"adminQueryGroupResCtrlConf");
+ registerQueryWebMethod("admin_query_booked_resctrl_groups",
+ "adminQueryBookedResCtrlGroups");
+
// register modify method
registerModifyWebMethod("admin_add_group_resctrl_info",
"adminAddGroupResCtrlConf");
@@ -57,72 +60,32 @@ public class WebGroupResCtrlHandler extends
AbstractWebHandler {
"adminDelGroupResCtrlConf");
}
+ /**
+ * query booked resource-control group set
+ *
+ * @param req Http Servlet Request
+ * @param strBuff string buffer
+ * @param result process result
+ * @return process result
+ */
+ public StringBuilder adminQueryBookedResCtrlGroups(HttpServletRequest req,
+ StringBuilder strBuff,
+ ProcessResult result) {
+ return innQueryGroupResCtrlInfo(req, strBuff, result, true);
+ }
+
/**
* query group resource control info
*
* @param req Http Servlet Request
- * @param sBuffer string buffer
+ * @param strBuff string buffer
* @param result process result
* @return process result
*/
public StringBuilder adminQueryGroupResCtrlConf(HttpServletRequest req,
- StringBuilder sBuffer,
+ StringBuilder strBuff,
ProcessResult result) {
- // build query entity
- GroupResCtrlEntity qryEntity = new GroupResCtrlEntity();
- // get queried operation info, for createUser, modifyUser,
dataVersionId
- if (!WebParameterUtils.getQueriedOperateInfo(req, qryEntity, sBuffer,
result)) {
- WebParameterUtils.buildFailResult(sBuffer, result.getErrMsg());
- return sBuffer;
- }
- // get group list
- if (!WebParameterUtils.getStringParamValue(req,
- WebFieldDef.COMPSGROUPNAME, false, null, sBuffer, result)) {
- WebParameterUtils.buildFailResult(sBuffer, result.getErrMsg());
- return sBuffer;
- }
- final Set<String> inGroupSet = (Set<String>) result.getRetData();
- // get resCheckStatus info
- if (!WebParameterUtils.getBooleanParamValue(req,
- WebFieldDef.RESCHECKENABLE, false, null, sBuffer, result)) {
- WebParameterUtils.buildFailResult(sBuffer, result.getErrMsg());
- return sBuffer;
- }
- Boolean resCheckEnable = (Boolean) result.getRetData();
- // get and valid qryPriorityId info
- if (!WebParameterUtils.getQryPriorityIdParameter(req,
- false, TBaseConstants.META_VALUE_UNDEFINED,
- TServerConstants.QRY_PRIORITY_MIN_VALUE, sBuffer, result)) {
- WebParameterUtils.buildFailResult(sBuffer, result.getErrMsg());
- return sBuffer;
- }
- int inQryPriorityId = (int) result.getRetData();
- // get flowCtrlEnable info
- if (!WebParameterUtils.getBooleanParamValue(req,
- WebFieldDef.FLOWCTRLENABLE, false, null, sBuffer, result)) {
- WebParameterUtils.buildFailResult(sBuffer, result.getErrMsg());
- return sBuffer;
- }
- Boolean flowCtrlEnable = (Boolean) result.getRetData();
- qryEntity.updModifyInfo(qryEntity.getDataVerId(),
- resCheckEnable, TBaseConstants.META_VALUE_UNDEFINED,
inQryPriorityId,
- flowCtrlEnable, TBaseConstants.META_VALUE_UNDEFINED, null);
- Map<String, GroupResCtrlEntity> groupResCtrlEntityMap =
- defMetaDataService.getGroupCtrlConf(inGroupSet, qryEntity);
- // build return result
- int totalCnt = 0;
- WebParameterUtils.buildSuccessWithDataRetBegin(sBuffer);
- for (GroupResCtrlEntity entity : groupResCtrlEntityMap.values()) {
- if (entity == null) {
- continue;
- }
- if (totalCnt++ > 0) {
- sBuffer.append(",");
- }
- sBuffer = entity.toWebJsonStr(sBuffer, true, true);
- }
- WebParameterUtils.buildSuccessWithDataRetEnd(sBuffer, totalCnt);
- return sBuffer;
+ return innQueryGroupResCtrlInfo(req, strBuff, result, false);
}
/**
@@ -214,6 +177,89 @@ public class WebGroupResCtrlHandler extends
AbstractWebHandler {
return buildRetInfo(retInfo, sBuffer);
}
+ /**
+ * query resource-control information
+ *
+ * @param req Http Servlet Request
+ * @param strBuff string buffer
+ * @param result process result
+ * @param onlyRetGroup only return group information
+ * @return process result
+ */
+ private StringBuilder innQueryGroupResCtrlInfo(HttpServletRequest req,
+ StringBuilder strBuff,
+ ProcessResult result,
+ boolean onlyRetGroup) {
+ // build query entity
+ GroupResCtrlEntity qryEntity = new GroupResCtrlEntity();
+ // get queried operation info, for createUser, modifyUser,
dataVersionId
+ if (!WebParameterUtils.getQueriedOperateInfo(req, qryEntity, strBuff,
result)) {
+ WebParameterUtils.buildFailResult(strBuff, result.getErrMsg());
+ return strBuff;
+ }
+ // get group list
+ if (!WebParameterUtils.getStringParamValue(req,
+ WebFieldDef.COMPSGROUPNAME, false, null, strBuff, result)) {
+ WebParameterUtils.buildFailResult(strBuff, result.getErrMsg());
+ return strBuff;
+ }
+ final Set<String> inGroupSet = (Set<String>) result.getRetData();
+ // get resCheckStatus info
+ if (!WebParameterUtils.getBooleanParamValue(req,
+ WebFieldDef.RESCHECKENABLE, false, null, strBuff, result)) {
+ WebParameterUtils.buildFailResult(strBuff, result.getErrMsg());
+ return strBuff;
+ }
+ Boolean resCheckEnable = (Boolean) result.getRetData();
+ // get and valid qryPriorityId info
+ if (!WebParameterUtils.getQryPriorityIdParameter(req,
+ false, TBaseConstants.META_VALUE_UNDEFINED,
+ TServerConstants.QRY_PRIORITY_MIN_VALUE, strBuff, result)) {
+ WebParameterUtils.buildFailResult(strBuff, result.getErrMsg());
+ return strBuff;
+ }
+ int inQryPriorityId = (int) result.getRetData();
+ // get flowCtrlEnable info
+ if (!WebParameterUtils.getBooleanParamValue(req,
+ WebFieldDef.FLOWCTRLENABLE, false, null, strBuff, result)) {
+ WebParameterUtils.buildFailResult(strBuff, result.getErrMsg());
+ return strBuff;
+ }
+ Boolean flowCtrlEnable = (Boolean) result.getRetData();
+ // query matched records
+ qryEntity.updModifyInfo(qryEntity.getDataVerId(),
+ resCheckEnable, TBaseConstants.META_VALUE_UNDEFINED,
inQryPriorityId,
+ flowCtrlEnable, TBaseConstants.META_VALUE_UNDEFINED, null);
+ Map<String, GroupResCtrlEntity> groupResCtrlEntityMap =
+ defMetaDataService.getGroupCtrlConf(inGroupSet, qryEntity);
+ // build return result
+ int totalCnt = 0;
+ WebParameterUtils.buildSuccessWithDataRetBegin(strBuff);
+ if (onlyRetGroup) {
+ for (GroupResCtrlEntity entity : groupResCtrlEntityMap.values()) {
+ if (entity == null) {
+ continue;
+ }
+ if (totalCnt++ > 0) {
+ strBuff.append(",");
+ }
+
strBuff.append("\"").append(entity.getGroupName()).append("\"");
+ }
+ } else {
+ for (GroupResCtrlEntity entity : groupResCtrlEntityMap.values()) {
+ if (entity == null) {
+ continue;
+ }
+ if (totalCnt++ > 0) {
+ strBuff.append(",");
+ }
+ strBuff = entity.toWebJsonStr(strBuff, true, true);
+ }
+ }
+ WebParameterUtils.buildSuccessWithDataRetEnd(strBuff, totalCnt);
+ return strBuff;
+ }
+
private StringBuilder innAddOrUpdGroupResCtrlConf(HttpServletRequest req,
StringBuilder sBuffer,
ProcessResult result,
@@ -412,5 +458,4 @@ public class WebGroupResCtrlHandler extends
AbstractWebHandler {
WebParameterUtils.buildSuccessWithDataRetEnd(sBuffer, totalCnt);
return sBuffer;
}
-
}