You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@inlong.apache.org by do...@apache.org on 2021/08/16 12:11:12 UTC
[incubator-inlong] branch INLONG-570 updated: [INLONG-1439] Add the
port legal check and remove the useless deleteWhen field (#1440)
This is an automated email from the ASF dual-hosted git repository.
dockerzhang pushed a commit to branch INLONG-570
in repository https://gitbox.apache.org/repos/asf/incubator-inlong.git
The following commit(s) were added to refs/heads/INLONG-570 by this push:
new ed129f7 [INLONG-1439] Add the port legal check and remove the useless deleteWhen field (#1440)
ed129f7 is described below
commit ed129f72478dcb88d625d280b179a7123d354ee3
Author: gosonzhang <46...@qq.com>
AuthorDate: Mon Aug 16 20:11:08 2021 +0800
[INLONG-1439] Add the port legal check and remove the useless deleteWhen field (#1440)
---
.../resources/assets/scripts/brokerDetail.js | 7 --
.../resources/assets/scripts/common/module.js | 16 -----
.../resources/assets/scripts/topicDetail.js | 7 --
.../templates/screen/config/brokerDetail.vm | 3 -
.../templates/screen/config/topicDetail.vm | 1 -
.../inlong/tubemq/server/broker/BrokerConfig.java | 7 ++
.../server/common/utils/WebParameterUtils.java | 37 +++++++++--
.../inlong/tubemq/server/master/MasterConfig.java | 20 ++++++
.../server/master/metamanage/MetaDataManager.java | 75 +++++++---------------
.../master/web/handler/WebBrokerConfHandler.java | 2 +-
.../master/web/handler/WebMasterInfoHandler.java | 4 +-
11 files changed, 86 insertions(+), 93 deletions(-)
diff --git a/inlong-tubemq/resources/assets/scripts/brokerDetail.js b/inlong-tubemq/resources/assets/scripts/brokerDetail.js
index 2248849..454ef73 100644
--- a/inlong-tubemq/resources/assets/scripts/brokerDetail.js
+++ b/inlong-tubemq/resources/assets/scripts/brokerDetail.js
@@ -232,10 +232,6 @@
' <div class="cnt">' + dataSet.unflushThreshold + '</div>' +
' </div>' +
' <div class="row">' +
- ' <div class="tit">deleteWhen:</div>' +
- ' <div class="cnt">' + dataSet.deleteWhen + '</div>' +
- ' </div>' +
- ' <div class="row">' +
' <div class="tit">numPartitions:</div>' +
' <div class="cnt">' + dataSet.numPartitions + '</div>' +
' </div>' +
@@ -290,9 +286,6 @@
}, {
"data": "unflushInterval"
}, {
- "data": "deleteWhen",
- "orderable": false
- }, {
"data": "deletePolicy",
"orderable": false
}],
diff --git a/inlong-tubemq/resources/assets/scripts/common/module.js b/inlong-tubemq/resources/assets/scripts/common/module.js
index 91cc1e4..8a0c5a9 100644
--- a/inlong-tubemq/resources/assets/scripts/common/module.js
+++ b/inlong-tubemq/resources/assets/scripts/common/module.js
@@ -298,7 +298,6 @@ Dialog.prototype.addBrokerInfo = function (type, brokerId, callback) {
'brokerId': '0',
'brokerIp': '',
'brokerPort': '8123',
- 'deleteWhen': '0 0 6,18 * * ?',
'deletePolicy': 'delete,168h',
'numPartitions': '3',
'unflushThreshold': '1000',
@@ -330,13 +329,6 @@ Dialog.prototype.addBrokerInfo = function (type, brokerId, callback) {
' </div>' +
' </div>' +
' <div class="row">' +
- ' <div class="tit">deleteWhen</div>' +
- ' <div class="cnt">' +
- ' <input type="text" class="m" value="'
- + data.deleteWhen + '" name="deleteWhen">' +
- ' </div>' +
- ' </div>' +
- ' <div class="row">' +
' <div class="tit">unflushThreshold</div>' +
' <div class="cnt">' +
' <input type="text" class="m" value="'
@@ -673,7 +665,6 @@ Dialog.prototype.addTopicInfo = function (type, topicName, data) {
};
data = data || {
'topicName': '',
- 'deleteWhen': '0 0 6,18 * * ?',
'deletePolicy': 'delete,168h',
'numPartitions': '3',
'unflushThreshold': '1000',
@@ -699,13 +690,6 @@ Dialog.prototype.addTopicInfo = function (type, topicName, data) {
' </div>' +
' </div>' +
' <div class="row">' +
- ' <div class="tit">deleteWhen</div>' +
- ' <div class="cnt">' +
- ' <input type="text" class="m" value="'
- + data.deleteWhen + '" name="deleteWhen">' +
- ' </div>' +
- ' </div>' +
- ' <div class="row">' +
' <div class="tit">unflushThreshold</div>' +
' <div class="cnt">' +
' <input type="text" class="m" value="'
diff --git a/inlong-tubemq/resources/assets/scripts/topicDetail.js b/inlong-tubemq/resources/assets/scripts/topicDetail.js
index 9ed53ae..61c752a 100644
--- a/inlong-tubemq/resources/assets/scripts/topicDetail.js
+++ b/inlong-tubemq/resources/assets/scripts/topicDetail.js
@@ -132,10 +132,6 @@
' <div class="cnt">' + dataSet.unflushThreshold + '</div>' +
' </div>' +
' <div class="row">' +
- ' <div class="tit">deleteWhen:</div>' +
- ' <div class="cnt">' + dataSet.deleteWhen + '</div>' +
- ' </div>' +
- ' <div class="row">' +
' <div class="tit">numPartitions:</div>' +
' <div class="cnt">' + dataSet.numPartitions + '</div>' +
' </div>' +
@@ -295,9 +291,6 @@
}, {
"data": "unflushInterval"
}, {
- "data": "deleteWhen",
- "orderable": false
- }, {
"data": "deletePolicy",
"orderable": false
}, {
diff --git a/inlong-tubemq/resources/templates/screen/config/brokerDetail.vm b/inlong-tubemq/resources/templates/screen/config/brokerDetail.vm
index 44e2824..e20cd87 100644
--- a/inlong-tubemq/resources/templates/screen/config/brokerDetail.vm
+++ b/inlong-tubemq/resources/templates/screen/config/brokerDetail.vm
@@ -104,7 +104,6 @@
<th>acceptSubscribe</th>
<th>unflushThreshold</th>
<th>unflushInterval</th>
- <th>deleteWhen</th>
<th>deletePolicy</th>
</tr>
</thead>
@@ -136,7 +135,6 @@
<th>acceptSubscribe</th>
<th>unflushThreshold</th>
<th>unflushInterval</th>
- <th>deleteWhen</th>
<th>deletePolicy</th>
</tr>
</thead>
@@ -168,7 +166,6 @@
<th>acceptSubscribe</th>
<th>unflushThreshold</th>
<th>unflushInterval</th>
- <th>deleteWhen</th>
<th>deletePolicy</th>
</tr>
</thead>
diff --git a/inlong-tubemq/resources/templates/screen/config/topicDetail.vm b/inlong-tubemq/resources/templates/screen/config/topicDetail.vm
index 3e1089a..f3b80e4 100644
--- a/inlong-tubemq/resources/templates/screen/config/topicDetail.vm
+++ b/inlong-tubemq/resources/templates/screen/config/topicDetail.vm
@@ -79,7 +79,6 @@
<th>numPartitions</th>
<th>unflushThreshold</th>
<th>unflushInterval</th>
- <th>deleteWhen</th>
<th>deletePolicy</th>
<th>acceptPublish</th>
<th>acceptSubscribe</th>
diff --git a/inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/broker/BrokerConfig.java b/inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/broker/BrokerConfig.java
index 49cae39..c544fd8 100644
--- a/inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/broker/BrokerConfig.java
+++ b/inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/broker/BrokerConfig.java
@@ -180,6 +180,13 @@ public class BrokerConfig extends AbstractFileConfig {
this.tlsConfig = this.loadTlsSectConf(iniConf,
TBaseConstants.META_DEFAULT_BROKER_TLS_PORT);
this.zkConfig = loadZKeeperSectConf(iniConf);
+ if (this.port == this.webPort
+ || (tlsConfig.isTlsEnable() && (this.tlsConfig.getTlsPort() == this.webPort))) {
+ throw new IllegalArgumentException(new StringBuilder(512)
+ .append("Illegal port value configuration, the value of ")
+ .append("port or tlsPort cannot be the same as the value of webPort!")
+ .toString());
+ }
}
/***
diff --git a/inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/common/utils/WebParameterUtils.java b/inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/common/utils/WebParameterUtils.java
index eeb5d22..b0d6dfe 100644
--- a/inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/common/utils/WebParameterUtils.java
+++ b/inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/common/utils/WebParameterUtils.java
@@ -207,6 +207,9 @@ public class WebParameterUtils {
return result.isSuccess();
}
int qryPriorityId = (int) result.getRetData();
+ if (qryPriorityId == defValue) {
+ return result.isSuccess();
+ }
if (qryPriorityId > 303 || qryPriorityId < 101) {
result.setFailResult(sBuffer.append("Illegal value in ")
.append(WebFieldDef.QRYPRIORITYID.name)
@@ -371,6 +374,32 @@ public class WebParameterUtils {
}
/**
+ * Compare whether the configured port values conflict
+ *
+ * @param brokerPort broker port
+ * @param brokerTlsPort broker tls port
+ * @param brokerWebPort broker web port
+ * @param sBuffer string buffer
+ * @param result check result of parameter value
+ * @return process result
+ */
+ public static boolean isLegallyPortValueSet(int brokerPort, int brokerTlsPort,
+ int brokerWebPort, StringBuilder sBuffer,
+ ProcessResult result) {
+ result.setSuccResult(null);
+ if (brokerPort == brokerWebPort || brokerTlsPort == brokerWebPort) {
+ result.setFailResult(DataOpErrCode.DERR_ILLEGAL_VALUE.getCode(),
+ sBuffer.append("Illegal port value configuration, the value of ")
+ .append(WebFieldDef.BROKERPORT.name).append(" or ")
+ .append(WebFieldDef.BROKERTLSPORT.name)
+ .append(" cannot be the same as the value of")
+ .append(WebFieldDef.BROKERWEBPORT.name).toString());
+ sBuffer.delete(0, sBuffer.length());
+ }
+ return result.isSuccess();
+ }
+
+ /**
* Parse the parameter value for TopicPropGroup class
*
* @param paramCntr parameter container object
@@ -1358,7 +1387,7 @@ public class WebParameterUtils {
boolean checkEmpty,
boolean checkResToken,
Set<String> resTokens,
- final StringBuilder sb) throws Exception {
+ StringBuilder sb) throws Exception {
Set<String> batchOpGroupNames = new HashSet<>();
if (TStringUtils.isNotBlank(inputGroupName)) {
inputGroupName = escDoubleQuotes(inputGroupName.trim());
@@ -1422,7 +1451,7 @@ public class WebParameterUtils {
boolean checkEmpty,
boolean checkRange,
Set<String> checkedTopicList,
- final StringBuilder sb) throws Exception {
+ StringBuilder sb) throws Exception {
Set<String> batchOpTopicNames = new HashSet<>();
if (TStringUtils.isNotBlank(inputTopicName)) {
inputTopicName = escDoubleQuotes(inputTopicName.trim());
@@ -1657,8 +1686,8 @@ public class WebParameterUtils {
* @param required
* @return the yyyyMMddHHmmss format string
*/
- public static String checkParamCommonRequires(final String paramName, final String paramValue,
- boolean required) throws Exception {
+ public static String checkParamCommonRequires(String paramName, String paramValue,
+ boolean required) throws Exception {
String temParamValue = null;
if (paramValue == null) {
if (required) {
diff --git a/inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/master/MasterConfig.java b/inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/master/MasterConfig.java
index c4b1e5c..7b71725 100644
--- a/inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/master/MasterConfig.java
+++ b/inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/master/MasterConfig.java
@@ -271,6 +271,26 @@ public class MasterConfig extends AbstractFileConfig {
this.tlsConfig = this.loadTlsSectConf(iniConf,
TBaseConstants.META_DEFAULT_MASTER_TLS_PORT);
this.zkConfig = loadZKeeperSectConf(iniConf);
+ if (this.port == this.webPort
+ || (tlsConfig.isTlsEnable() && (this.tlsConfig.getTlsPort() == this.webPort))) {
+ throw new IllegalArgumentException(new StringBuilder(512)
+ .append("Illegal field value configuration, the value of ")
+ .append("port or tlsPort cannot be the same as the value of webPort!")
+ .toString());
+ }
+ if (this.port == replicationConfig.getRepNodePort() || (tlsConfig.isTlsEnable()
+ && (this.tlsConfig.getTlsPort() == replicationConfig.getRepNodePort()))) {
+ throw new IllegalArgumentException(new StringBuilder(512)
+ .append("Illegal field value configuration, the value of ")
+ .append("port or tlsPort cannot be the same as the value of repNodePort!")
+ .toString());
+ }
+ if (this.webPort == replicationConfig.getRepNodePort()) {
+ throw new IllegalArgumentException(new StringBuilder(512)
+ .append("Illegal field value configuration, the value of ")
+ .append("webPort cannot be the same as the value of repNodePort!")
+ .toString());
+ }
}
/**
diff --git a/inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/master/metamanage/MetaDataManager.java b/inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/master/metamanage/MetaDataManager.java
index d7a8ca5..9a7ba37 100644
--- a/inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/master/metamanage/MetaDataManager.java
+++ b/inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/master/metamanage/MetaDataManager.java
@@ -42,6 +42,7 @@ import org.apache.inlong.tubemq.server.common.statusdef.ManageStatus;
import org.apache.inlong.tubemq.server.common.statusdef.TopicStatus;
import org.apache.inlong.tubemq.server.common.statusdef.TopicStsChgType;
import org.apache.inlong.tubemq.server.common.utils.ProcessResult;
+import org.apache.inlong.tubemq.server.common.utils.WebParameterUtils;
import org.apache.inlong.tubemq.server.master.MasterConfig;
import org.apache.inlong.tubemq.server.master.TMaster;
import org.apache.inlong.tubemq.server.master.bdbstore.MasterGroupStatus;
@@ -430,8 +431,11 @@ public class MetaDataManager implements Server {
if (isAddOp) {
if (metaStoreService.getBrokerConfByBrokerId(entity.getBrokerId()) == null
&& metaStoreService.getBrokerConfByBrokerIp(entity.getBrokerIp()) == null) {
- if (metaStoreService.addBrokerConf(entity, sBuffer, result)) {
- this.tMaster.getBrokerRunManager().updBrokerStaticInfo(entity);
+ if (WebParameterUtils.isLegallyPortValueSet(entity.getBrokerPort(),
+ entity.getBrokerTLSPort(), entity.getBrokerWebPort(), sBuffer, result)) {
+ if (metaStoreService.addBrokerConf(entity, sBuffer, result)) {
+ this.tMaster.getBrokerRunManager().updBrokerStaticInfo(entity);
+ }
}
} else {
result.setFailResult(DataOpErrCode.DERR_EXISTED.getCode(),
@@ -455,8 +459,12 @@ public class MetaDataManager implements Server {
entity.getBrokerTLSPort(), entity.getBrokerWebPort(),
entity.getRegionId(), entity.getGroupId(),
entity.getManageStatus(), entity.getTopicProps())) {
- if (metaStoreService.updBrokerConf(newEntity, sBuffer, result)) {
- triggerBrokerConfDataSync(entity.getBrokerId(), sBuffer, result);
+ if (WebParameterUtils.isLegallyPortValueSet(newEntity.getBrokerPort(),
+ newEntity.getBrokerTLSPort(), newEntity.getBrokerWebPort(),
+ sBuffer, result)) {
+ if (metaStoreService.updBrokerConf(newEntity, sBuffer, result)) {
+ triggerBrokerConfDataSync(entity.getBrokerId(), sBuffer, result);
+ }
}
} else {
result.setSuccResult(null);
@@ -1560,52 +1568,6 @@ public class MetaDataManager implements Server {
// //////////////////////////////////////////////////////////////////////////////
- public boolean addClusterDefSetting(BaseEntity opEntity, int brokerPort,
- int brokerTlsPort, int brokerWebPort,
- int maxMsgSizeMB, int qryPriorityId,
- Boolean flowCtrlEnable, int flowRuleCnt,
- String flowCtrlInfo, TopicPropGroup topicProps,
- StringBuilder strBuffer, ProcessResult result) {
- ClusterSettingEntity newConf =
- new ClusterSettingEntity(opEntity);
- newConf.fillDefaultValue();
- newConf.updModifyInfo(opEntity.getDataVerId(), brokerPort,
- brokerTlsPort, brokerWebPort, maxMsgSizeMB, qryPriorityId,
- flowCtrlEnable, flowRuleCnt, flowCtrlInfo, topicProps);
- return metaStoreService.addClusterConfig(newConf, strBuffer, result);
- }
-
- /**
- * Update cluster default setting
- *
- * @return true if success otherwise false
- */
- public boolean modClusterDefSetting(BaseEntity opEntity, int brokerPort,
- int brokerTlsPort, int brokerWebPort,
- int maxMsgSizeMB, int qryPriorityId,
- Boolean flowCtrlEnable, int flowRuleCnt,
- String flowCtrlInfo, TopicPropGroup topicProps,
- StringBuilder strBuffer, ProcessResult result) {
- ClusterSettingEntity curConf =
- metaStoreService.getClusterConfig();
- if (curConf == null) {
- result.setFailResult(DataOpErrCode.DERR_EXISTED.getCode(),
- DataOpErrCode.DERR_EXISTED.getDescription());
- return result.isSuccess();
- }
- ClusterSettingEntity newConf = curConf.clone();
- newConf.updBaseModifyInfo(opEntity);
- if (newConf.updModifyInfo(opEntity.getDataVerId(), brokerPort,
- brokerTlsPort, brokerWebPort, maxMsgSizeMB, qryPriorityId,
- flowCtrlEnable, flowRuleCnt, flowCtrlInfo, topicProps)) {
- metaStoreService.updClusterConfig(newConf, strBuffer, result);
- } else {
- result.setFailResult(DataOpErrCode.DERR_UNCHANGED.getCode(),
- DataOpErrCode.DERR_UNCHANGED.getDescription());
- }
- return result.isSuccess();
- }
-
/**
* Update cluster default setting
*
@@ -1616,7 +1578,7 @@ public class MetaDataManager implements Server {
int maxMsgSizeMB, int qryPriorityId,
Boolean flowCtrlEnable, int flowRuleCnt,
String flowCtrlInfo, TopicPropGroup topicProps,
- StringBuilder strBuffer, ProcessResult result) {
+ StringBuilder sBuffer, ProcessResult result) {
ClusterSettingEntity newConf;
ClusterSettingEntity curConf = metaStoreService.getClusterConfig();
if (curConf == null) {
@@ -1625,14 +1587,21 @@ public class MetaDataManager implements Server {
newConf.updModifyInfo(opEntity.getDataVerId(), brokerPort,
brokerTlsPort, brokerWebPort, maxMsgSizeMB, qryPriorityId,
flowCtrlEnable, flowRuleCnt, flowCtrlInfo, topicProps);
- metaStoreService.addClusterConfig(newConf, strBuffer, result);
+ if (WebParameterUtils.isLegallyPortValueSet(newConf.getBrokerPort(),
+ newConf.getBrokerTLSPort(), newConf.getBrokerWebPort(), sBuffer, result)) {
+ metaStoreService.addClusterConfig(newConf, sBuffer, result);
+ }
} else {
newConf = curConf.clone();
newConf.updBaseModifyInfo(opEntity);
if (newConf.updModifyInfo(opEntity.getDataVerId(), brokerPort,
brokerTlsPort, brokerWebPort, maxMsgSizeMB, qryPriorityId,
flowCtrlEnable, flowRuleCnt, flowCtrlInfo, topicProps)) {
- metaStoreService.updClusterConfig(newConf, strBuffer, result);
+ if (WebParameterUtils.isLegallyPortValueSet(newConf.getBrokerPort(),
+ newConf.getBrokerTLSPort(), newConf.getBrokerWebPort(),
+ sBuffer, result)) {
+ metaStoreService.updClusterConfig(newConf, sBuffer, result);
+ }
} else {
result.setSuccResult(null);
}
diff --git a/inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/master/web/handler/WebBrokerConfHandler.java b/inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/master/web/handler/WebBrokerConfHandler.java
index cd48f8d..9ec33d9 100644
--- a/inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/master/web/handler/WebBrokerConfHandler.java
+++ b/inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/master/web/handler/WebBrokerConfHandler.java
@@ -1023,7 +1023,7 @@ public class WebBrokerConfHandler extends AbstractWebHandler {
String brokerIp = (String) result.getRetData();
// get brokerId
if (!WebParameterUtils.getIntParamValue(paramCntr,
- WebFieldDef.BROKERID, true, 0, 0, sBuffer, result)) {
+ WebFieldDef.BROKERID, false, 0, 0, sBuffer, result)) {
return result.success;
}
int brokerId = (int) result.getRetData();
diff --git a/inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/master/web/handler/WebMasterInfoHandler.java b/inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/master/web/handler/WebMasterInfoHandler.java
index 071e779..76f0ce8 100644
--- a/inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/master/web/handler/WebMasterInfoHandler.java
+++ b/inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/master/web/handler/WebMasterInfoHandler.java
@@ -468,17 +468,19 @@ public class WebMasterInfoHandler extends AbstractWebHandler {
private StringBuilder buildRetInfo(StringBuilder sBuffer, boolean isNewVer) {
+ int totalCnt = 0;
ClusterSettingEntity curConf =
metaDataManager.getClusterDefSetting(true);
WebParameterUtils.buildSuccessWithDataRetBegin(sBuffer);
if (curConf != null) {
+ totalCnt++;
if (isNewVer) {
curConf.toWebJsonStr(sBuffer, true, true);
} else {
curConf.toOldVerFlowCtrlWebJsonStr(sBuffer, true);
}
}
- WebParameterUtils.buildSuccessWithDataRetEnd(sBuffer, 1);
+ WebParameterUtils.buildSuccessWithDataRetEnd(sBuffer, totalCnt);
return sBuffer;
}
}