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/10/12 01:51:53 UTC
[inlong] branch master updated: [INLONG-6138][TubeMQ] Update the API called by the js files in the resource (#6139)
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/inlong.git
The following commit(s) were added to refs/heads/master by this push:
new d637ecd01 [INLONG-6138][TubeMQ] Update the API called by the js files in the resource (#6139)
d637ecd01 is described below
commit d637ecd01e3b06c54c7ba4775dfe7a6bebe5122e
Author: Goson Zhang <46...@qq.com>
AuthorDate: Wed Oct 12 09:51:47 2022 +0800
[INLONG-6138][TubeMQ] Update the API called by the js files in the resource (#6139)
---
.../resources/assets/scripts/common/module.js | 8 +-
.../resources/assets/scripts/topicList.js | 12 +-
.../master/web/handler/WebTopicDeployHandler.java | 148 ++++++++++++++++++++-
3 files changed, 156 insertions(+), 12 deletions(-)
diff --git a/inlong-tubemq/resources/assets/scripts/common/module.js b/inlong-tubemq/resources/assets/scripts/common/module.js
index c761bfdd1..aa5b88285 100644
--- a/inlong-tubemq/resources/assets/scripts/common/module.js
+++ b/inlong-tubemq/resources/assets/scripts/common/module.js
@@ -924,17 +924,17 @@ Dialog.prototype.confirmBroker2Topic = function (type, topicName, formData) {
+ ':' + full.brokerPort;
}
}, {
- "data": "runInfo.totalTopicStoreNum"
+ "data": "storeTotalCfgCnt"
}, {
- "data": "runInfo.brokerManageStatus"
+ "data": "manageStatus"
}, {
- "data": "runInfo.acceptPublish",
+ "data": "acceptPublish",
"orderable": false,
"render": function (data, type, full, meta) {
return translation2Boolean[data];
}
}, {
- "data": "runInfo.acceptSubscribe",
+ "data": "acceptSubscribe",
"orderable": false,
"render": function (data, type, full, meta) {
return translation2Boolean[data];
diff --git a/inlong-tubemq/resources/assets/scripts/topicList.js b/inlong-tubemq/resources/assets/scripts/topicList.js
index f34ff0c3f..2b34e15d0 100644
--- a/inlong-tubemq/resources/assets/scripts/topicList.js
+++ b/inlong-tubemq/resources/assets/scripts/topicList.js
@@ -102,7 +102,7 @@
'false': '否',
'-': '-'
};
- var url = G_CONFIG.HOST + "?type=op_query&method=admin_query_cluster_topic_view&" + $.param(
+ var url = G_CONFIG.HOST + "?type=op_query&method=admin_query_topic_broker_config_info&" + $.param(
opts);
if (!this.$topicListDataTable) {
@@ -126,13 +126,13 @@
return html;
}
}, {
- "data": "totalCfgBrokerCnt"
+ "data": "brokerTotalCfgCnt"
}, {
- "data": "totalCfgNumPart"
+ "data": "partTotalCfgCnt"
}, {
- "data": "totalRunNumPartCount"
+ "data": "partTotalRunCnt"
}, {
- "data": "isSrvAcceptPublish",
+ "data": "topicSrvAccPubStatus",
"orderable": false,
"render": function (data,
type,
@@ -149,7 +149,7 @@
+ '"><input type="checkbox" checked></span>';
}
}, {
- "data": "isSrvAcceptSubscribe",
+ "data": "topicSrvAccSubStatus",
"orderable": false,
"render": function (data,
type,
diff --git a/inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/master/web/handler/WebTopicDeployHandler.java b/inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/master/web/handler/WebTopicDeployHandler.java
index 8d991bbb2..4a6a07e52 100644
--- a/inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/master/web/handler/WebTopicDeployHandler.java
+++ b/inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/master/web/handler/WebTopicDeployHandler.java
@@ -65,9 +65,11 @@ public class WebTopicDeployHandler extends AbstractWebHandler {
"innQueryTopicDeployConfInfo");
registerQueryWebMethod("admin_query_broker_topic_config_info",
"adminQueryBrokerTopicCfgAndRunInfo");
- registerQueryWebMethod("admin_query_topicName",
+ registerQueryWebMethod("admin_query_topic_broker_config_info",
+ "adminQueryTopicBrokerCfgAndRunInfo");
+ registerQueryWebMethod("admin_query_deployed_topics",
"adminQuerySimpleTopicName");
- registerQueryWebMethod("admin_query_brokerId",
+ registerQueryWebMethod("admin_query_deployed_broker_ids",
"adminQuerySimpleBrokerId");
// register modify method
@@ -358,6 +360,148 @@ public class WebTopicDeployHandler extends AbstractWebHandler {
return sBuffer;
}
+ /**
+ * Query topic's broker configure view
+ *
+ * @param req Http Servlet Request
+ * @param sBuffer string buffer
+ * @param result process result
+ * @return process result
+ */
+ public StringBuilder adminQueryTopicBrokerCfgAndRunInfo(HttpServletRequest req,
+ StringBuilder sBuffer,
+ ProcessResult result) {
+ // check and get brokerId field
+ if (!WebParameterUtils.getIntParamValue(req,
+ WebFieldDef.COMPSBROKERID, false, sBuffer, result)) {
+ WebParameterUtils.buildFailResult(sBuffer, result.getErrMsg());
+ return sBuffer;
+ }
+ Set<Integer> brokerIds = (Set<Integer>) result.getRetData();
+ // check and get topicName field
+ if (!WebParameterUtils.getStringParamValue(req,
+ WebFieldDef.COMPSTOPICNAME, false, null, sBuffer, result)) {
+ WebParameterUtils.buildFailResult(sBuffer, result.getErrMsg());
+ return sBuffer;
+ }
+ Set<String> topicNameSet = (Set<String>) result.getRetData();
+ // query topic configure info
+ Map<String, List<TopicDeployEntity>> topicConfMap =
+ defMetaDataService.getTopicConfMapByTopicAndBrokerIds(topicNameSet, brokerIds);
+ BrokerRunManager brokerRunManager = master.getBrokerRunManager();
+ // set statistic data items
+ int recordCount = 0;
+ int brokerTotalCfgCnt = 0;
+ int storeTotalCfgCnt = 0;
+ int partTotalCfgCnt = 0;
+ int tmpPartTtlCount = 0;
+ int brokerTotalRunCnt = 0;
+ int storeTotalRunCnt = 0;
+ int partTotalRunCnt = 0;
+ int brokerAccPubTotalCnt = 0;
+ int brokerAccSubTotalCnt = 0;
+ int storeAccPubTotalCnt = 0;
+ int storeAccSubTotalCnt = 0;
+ int partAccPubTotalCnt = 0;
+ int partAccSubTotalCnt = 0;
+ boolean hasRunConfig = false;
+ boolean topicSrvAccPubStatus = false;
+ boolean topicSrvAccSubStatus = false;
+ boolean enableAuthControl = false;
+ // build query result
+ TopicPropGroup topicProps;
+ TopicCtrlEntity authEntity;
+ BrokerConfEntity brokerConfEntity;
+ Tuple3<Boolean, Boolean, TopicInfo> topicInfoTuple = new Tuple3<>();
+ WebParameterUtils.buildSuccessWithDataRetBegin(sBuffer);
+ for (Map.Entry<String, List<TopicDeployEntity>> entry : topicConfMap.entrySet()) {
+ if (recordCount++ > 0) {
+ sBuffer.append(",");
+ }
+ // reset the value of data items
+ brokerTotalCfgCnt = 0;
+ brokerTotalRunCnt = 0;
+ storeTotalCfgCnt = 0;
+ storeTotalRunCnt = 0;
+ partTotalCfgCnt = 0;
+ partTotalRunCnt = 0;
+ brokerAccPubTotalCnt = 0;
+ brokerAccSubTotalCnt = 0;
+ storeAccPubTotalCnt = 0;
+ storeAccSubTotalCnt = 0;
+ partAccPubTotalCnt = 0;
+ partAccSubTotalCnt = 0;
+ topicSrvAccPubStatus = false;
+ topicSrvAccSubStatus = false;
+ enableAuthControl = false;
+ for (TopicDeployEntity entity : entry.getValue()) {
+ brokerConfEntity =
+ defMetaDataService.getBrokerConfByBrokerId(entity.getBrokerId());
+ if (brokerConfEntity == null) {
+ continue;
+ }
+ // query detail information
+ topicProps = entity.getTopicProps();
+ brokerRunManager.getPubBrokerTopicInfo(
+ entity.getBrokerId(), entity.getTopicName(), topicInfoTuple);
+ // accumulate configured data
+ brokerTotalCfgCnt++;
+ storeTotalCfgCnt += topicProps.getNumTopicStores();
+ partTotalCfgCnt +=
+ topicProps.getNumPartitions() * topicProps.getNumTopicStores();
+ if (topicInfoTuple.getF2() != null) {
+ hasRunConfig = false;
+ tmpPartTtlCount =
+ topicInfoTuple.getF2().getPartitionNum() * topicInfoTuple.getF2().getTopicStoreNum();
+ if (topicInfoTuple.getF0() && topicInfoTuple.getF2().isAcceptPublish()) {
+ hasRunConfig = true;
+ topicSrvAccPubStatus = true;
+ brokerAccPubTotalCnt++;
+ storeAccPubTotalCnt += topicInfoTuple.getF2().getTopicStoreNum();
+ partAccPubTotalCnt += tmpPartTtlCount;
+ }
+ if (topicInfoTuple.getF1() && topicInfoTuple.getF2().isAcceptSubscribe()) {
+ hasRunConfig = true;
+ topicSrvAccSubStatus = true;
+ brokerAccSubTotalCnt++;
+ storeAccSubTotalCnt += topicInfoTuple.getF2().getTopicStoreNum();
+ partAccSubTotalCnt += tmpPartTtlCount;
+ }
+ if (hasRunConfig) {
+ // accumulate running data
+ brokerTotalRunCnt++;
+ storeTotalRunCnt += topicInfoTuple.getF2().getTopicStoreNum();
+ partTotalRunCnt += tmpPartTtlCount;
+ }
+ }
+ }
+ // query authenticate information
+ authEntity = defMetaDataService.getTopicCtrlByTopicName(entry.getKey());
+ if (authEntity != null) {
+ enableAuthControl = authEntity.isAuthCtrlEnable();
+ }
+ sBuffer.append("{\"topicName\":\"").append(entry.getKey())
+ .append("\",\"brokerTotalCfgCnt\":").append(brokerTotalCfgCnt)
+ .append(",\"brokerTotalRunCnt\":").append(brokerTotalRunCnt)
+ .append(",\"storeTotalCfgCnt\":").append(storeTotalCfgCnt)
+ .append(",\"storeTotalRunCnt\":").append(storeTotalRunCnt)
+ .append(",\"partTotalCfgCnt\":").append(partTotalCfgCnt)
+ .append(",\"partTotalRunCnt\":").append(partTotalRunCnt)
+ .append(",\"brokerAccPubTotalCnt\":").append(brokerAccPubTotalCnt)
+ .append(",\"brokerAccSubTotalCnt\":").append(brokerAccSubTotalCnt)
+ .append(",\"storeAccPubTotalCnt\":").append(storeAccPubTotalCnt)
+ .append(",\"storeAccSubTotalCnt\":").append(storeAccSubTotalCnt)
+ .append(",\"partAccPubTotalCnt\":").append(partAccPubTotalCnt)
+ .append(",\"partAccSubTotalCnt\":").append(partAccSubTotalCnt)
+ .append(",\"topicSrvAccPubStatus\":").append(topicSrvAccPubStatus)
+ .append(",\"topicSrvAccSubStatus\":").append(topicSrvAccSubStatus)
+ .append(",\"enableAuthControl\":").append(enableAuthControl)
+ .append("}");
+ }
+ WebParameterUtils.buildSuccessWithDataRetEnd(sBuffer, recordCount);
+ return sBuffer;
+ }
+
/**
* Query broker's topic-name set info
*