This is an automated email from the ASF dual-hosted git repository. caogaofei pushed a commit to branch beyyes/feature/add_confignode_id in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit de35225aa70930f3ae0fd142e7bd61ce85654531 Author: beyyes <[email protected]> AuthorDate: Wed May 25 20:20:29 2022 +0800 add configNodeId for TConfigNodeLocation, and fix corresponding tests --- .../apache/iotdb/confignode/conf/ConfigNodeStartupCheck.java | 4 ++-- .../org/apache/iotdb/confignode/manager/ConsensusManager.java | 2 +- .../confignode/consensus/request/ConfigRequestSerDeTest.java | 2 +- .../java/org/apache/iotdb/commons/utils/NodeUrlUtils.java | 8 +++++--- .../java/org/apache/iotdb/commons/utils/NodeUrlUtilsTest.java | 6 +++--- .../iotdb/commons/utils/ThriftConfigNodeSerDeUtilsTest.java | 2 +- thrift-commons/src/main/thrift/common.thrift | 11 +++++++++-- 7 files changed, 22 insertions(+), 13 deletions(-) diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeStartupCheck.java b/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeStartupCheck.java index 7480d78e0c..dd8a4ee103 100644 --- a/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeStartupCheck.java +++ b/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeStartupCheck.java @@ -169,7 +169,7 @@ public class ConfigNodeStartupCheck { // TODO: Set PartitionRegionId from iotdb-confignode.properties conf.setConfigNodeList( Collections.singletonList( - new TConfigNodeLocation( + new TConfigNodeLocation(0, new TEndPoint(conf.getRpcAddress(), conf.getRpcPort()), new TEndPoint(conf.getRpcAddress(), conf.getConsensusPort())))); } @@ -180,7 +180,7 @@ public class ConfigNodeStartupCheck { private void registerConfigNode() throws StartupException { TConfigNodeRegisterReq req = new TConfigNodeRegisterReq( - new TConfigNodeLocation( + new TConfigNodeLocation(0, new TEndPoint(conf.getRpcAddress(), conf.getRpcPort()), new TEndPoint(conf.getRpcAddress(), conf.getConsensusPort())), conf.getDataNodeConsensusProtocolClass(), diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConsensusManager.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConsensusManager.java index 702f5cfa05..e6ad4aaa96 100644 --- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConsensusManager.java +++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConsensusManager.java @@ -113,7 +113,7 @@ public class ConsensusManager { SyncConfigNodeClientPool.getInstance() .applyConfigNode( conf.getTargetConfigNode(), - new TConfigNodeLocation( + new TConfigNodeLocation(0, new TEndPoint(conf.getRpcAddress(), conf.getRpcPort()), new TEndPoint(conf.getRpcAddress(), conf.getConsensusPort()))); if (status.getCode() != TSStatusCode.SUCCESS_STATUS.getStatusCode()) { diff --git a/confignode/src/test/java/org/apache/iotdb/confignode/consensus/request/ConfigRequestSerDeTest.java b/confignode/src/test/java/org/apache/iotdb/confignode/consensus/request/ConfigRequestSerDeTest.java index 55bad48cf3..ece8155816 100644 --- a/confignode/src/test/java/org/apache/iotdb/confignode/consensus/request/ConfigRequestSerDeTest.java +++ b/confignode/src/test/java/org/apache/iotdb/confignode/consensus/request/ConfigRequestSerDeTest.java @@ -571,7 +571,7 @@ public class ConfigRequestSerDeTest { public void registerConfigNodeReqTest() throws IOException { ApplyConfigNodeReq req0 = new ApplyConfigNodeReq( - new TConfigNodeLocation( + new TConfigNodeLocation(0, new TEndPoint("0.0.0.0", 22277), new TEndPoint("0.0.0.0", 22278))); req0.serialize(buffer); buffer.flip(); diff --git a/node-commons/src/main/java/org/apache/iotdb/commons/utils/NodeUrlUtils.java b/node-commons/src/main/java/org/apache/iotdb/commons/utils/NodeUrlUtils.java index a502e4d42e..3a9f96f672 100644 --- a/node-commons/src/main/java/org/apache/iotdb/commons/utils/NodeUrlUtils.java +++ b/node-commons/src/main/java/org/apache/iotdb/commons/utils/NodeUrlUtils.java @@ -144,18 +144,19 @@ public class NodeUrlUtils { /** * Parse TConfigNodeLocation from given TConfigNodeUrl * + * @param configNodeId configNode id * @param configNodeUrl InternalEndPointUrl,ConsensusEndPointUrl * @return TConfigNodeLocation * @throws BadNodeUrlException Throw when unable to parse */ - public static TConfigNodeLocation parseTConfigNodeUrl(String configNodeUrl) + public static TConfigNodeLocation parseTConfigNodeUrl(int configNodeId, String configNodeUrl) throws BadNodeUrlException { String[] split = configNodeUrl.split(","); if (split.length != 2) { logger.warn("Bad ConfigNode url: {}", configNodeUrl); throw new BadNodeUrlException(String.format("Bad node url: %s", configNodeUrl)); } - return new TConfigNodeLocation(parseTEndPointUrl(split[0]), parseTEndPointUrl(split[1])); + return new TConfigNodeLocation(configNodeId, parseTEndPointUrl(split[0]), parseTEndPointUrl(split[1])); } /** @@ -168,8 +169,9 @@ public class NodeUrlUtils { public static List<TConfigNodeLocation> parseTConfigNodeUrls(List<String> configNodeUrls) throws BadNodeUrlException { List<TConfigNodeLocation> result = new ArrayList<>(); + int configNodeId = 0; for (String url : configNodeUrls) { - result.add(parseTConfigNodeUrl(url)); + result.add(parseTConfigNodeUrl(configNodeId++, url)); } return result; } diff --git a/node-commons/src/test/java/org/apache/iotdb/commons/utils/NodeUrlUtilsTest.java b/node-commons/src/test/java/org/apache/iotdb/commons/utils/NodeUrlUtilsTest.java index f6e497f309..a3348a5b7d 100644 --- a/node-commons/src/test/java/org/apache/iotdb/commons/utils/NodeUrlUtilsTest.java +++ b/node-commons/src/test/java/org/apache/iotdb/commons/utils/NodeUrlUtilsTest.java @@ -47,11 +47,11 @@ public class NodeUrlUtilsTest { public void parseAndConvertTConfigNodeUrlsTest() throws BadNodeUrlException { final List<TConfigNodeLocation> configNodeLocations = Arrays.asList( - new TConfigNodeLocation( + new TConfigNodeLocation(0, new TEndPoint("0.0.0.0", 22277), new TEndPoint("0.0.0.0", 22278)), - new TConfigNodeLocation( + new TConfigNodeLocation(1, new TEndPoint("0.0.0.0", 22279), new TEndPoint("0.0.0.0", 22280)), - new TConfigNodeLocation( + new TConfigNodeLocation(2, new TEndPoint("0.0.0.0", 22281), new TEndPoint("0.0.0.0", 22282))); final String configNodeUrls = "0.0.0.0:22277,0.0.0.0:22278;0.0.0.0:22279,0.0.0.0:22280;0.0.0.0:22281,0.0.0.0:22282"; diff --git a/node-commons/src/test/java/org/apache/iotdb/commons/utils/ThriftConfigNodeSerDeUtilsTest.java b/node-commons/src/test/java/org/apache/iotdb/commons/utils/ThriftConfigNodeSerDeUtilsTest.java index 60e0adef7b..9b2d1d1bcd 100644 --- a/node-commons/src/test/java/org/apache/iotdb/commons/utils/ThriftConfigNodeSerDeUtilsTest.java +++ b/node-commons/src/test/java/org/apache/iotdb/commons/utils/ThriftConfigNodeSerDeUtilsTest.java @@ -70,7 +70,7 @@ public class ThriftConfigNodeSerDeUtilsTest { @Test public void readWriteTConfigNodeLocationTest() { TConfigNodeLocation configNodeLocation0 = - new TConfigNodeLocation(new TEndPoint("0.0.0.0", 22277), new TEndPoint("0.0.0.0", 22278)); + new TConfigNodeLocation(0, new TEndPoint("0.0.0.0", 22277), new TEndPoint("0.0.0.0", 22278)); ThriftConfigNodeSerDeUtils.serializeTConfigNodeLocation(configNodeLocation0, buffer); buffer.flip(); diff --git a/thrift-commons/src/main/thrift/common.thrift b/thrift-commons/src/main/thrift/common.thrift index aad4d3e13a..a95997dab9 100644 --- a/thrift-commons/src/main/thrift/common.thrift +++ b/thrift-commons/src/main/thrift/common.thrift @@ -58,8 +58,9 @@ struct TRegionReplicaSet { } struct TConfigNodeLocation { - 1: required TEndPoint internalEndPoint - 2: required TEndPoint consensusEndPoint + 1: required i32 configNodeId + 2: required TEndPoint internalEndPoint + 3: required TEndPoint consensusEndPoint } struct THeartbeatReq { @@ -84,6 +85,12 @@ struct THeartbeatResp { 3: optional i16 memory } +struct TConfigNodeInfo { + 1: required TConfigNodeLocation location + 2: required i32 cpuCoreNum + 3: required i64 maxMemory +} + struct TDataNodeInfo { 1: required TDataNodeLocation location 2: required i32 cpuCoreNum
