You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by wa...@apache.org on 2022/07/25 03:47:33 UTC
[iotdb] branch master updated: [IOTDB-3848] Clear up thrift defined data structures of cluster tools (#6716)
This is an automated email from the ASF dual-hosted git repository.
wangchao316 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/master by this push:
new 3d73b16fbf [IOTDB-3848] Clear up thrift defined data structures of cluster tools (#6716)
3d73b16fbf is described below
commit 3d73b16fbfcd5c12e1b178cef84d405275c644c0
Author: YongzaoDan <33...@users.noreply.github.com>
AuthorDate: Mon Jul 25 11:47:28 2022 +0800
[IOTDB-3848] Clear up thrift defined data structures of cluster tools (#6716)
[IOTDB-3848] Clear up thrift defined data structures of cluster tools (#6716)
---
.../response/DataNodeConfigurationResp.java | 20 +---
.../consensus/response/RegionInfoListResp.java | 2 +-
.../iotdb/confignode/manager/ConfigManager.java | 120 ++++++++++-----------
.../apache/iotdb/confignode/manager/IManager.java | 9 +-
.../iotdb/confignode/manager/NodeManager.java | 26 +++--
.../iotdb/confignode/persistence/NodeInfo.java | 4 +-
.../persistence/partition/PartitionInfo.java | 2 +-
.../partition/StorageGroupPartitionTable.java | 2 +-
.../thrift/ConfigNodeRPCServiceProcessor.java | 12 +--
.../thrift/ConfigNodeRPCServiceProcessorTest.java | 6 +-
.../apache/iotdb/db/client/ConfigNodeClient.java | 6 +-
.../mpp/plan/execution/config/ShowClusterTask.java | 4 +-
.../plan/execution/config/ShowDataNodesTask.java | 19 ++--
.../mpp/plan/execution/config/ShowRegionTask.java | 2 +-
.../config/executor/ClusterConfigTaskExecutor.java | 8 +-
thrift-commons/src/main/thrift/common.thrift | 21 ----
.../src/main/thrift/confignode.thrift | 65 ++++++-----
17 files changed, 150 insertions(+), 178 deletions(-)
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/DataNodeConfigurationResp.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/DataNodeConfigurationResp.java
index 686839656e..696d3f163c 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/DataNodeConfigurationResp.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/DataNodeConfigurationResp.java
@@ -19,20 +19,17 @@
package org.apache.iotdb.confignode.consensus.response;
import org.apache.iotdb.common.rpc.thrift.TDataNodeConfiguration;
-import org.apache.iotdb.common.rpc.thrift.TDataNodesInfo;
import org.apache.iotdb.common.rpc.thrift.TSStatus;
import org.apache.iotdb.confignode.rpc.thrift.TDataNodeConfigurationResp;
import org.apache.iotdb.consensus.common.DataSet;
import org.apache.iotdb.rpc.TSStatusCode;
-import java.util.List;
import java.util.Map;
public class DataNodeConfigurationResp implements DataSet {
private TSStatus status;
- private Map<Integer, TDataNodeConfiguration> dataNodeInfoMap;
- private List<TDataNodesInfo> dataNodesInfoList;
+ private Map<Integer, TDataNodeConfiguration> dataNodeConfigurationMap;
public DataNodeConfigurationResp() {
// empty constructor
@@ -46,22 +43,15 @@ public class DataNodeConfigurationResp implements DataSet {
return status;
}
- public void setDataNodeInfoMap(Map<Integer, TDataNodeConfiguration> dataNodeInfoMap) {
- this.dataNodeInfoMap = dataNodeInfoMap;
- }
-
- public List<TDataNodesInfo> getDataNodesInfoList() {
- return dataNodesInfoList;
- }
-
- public void setDataNodesInfoList(List<TDataNodesInfo> dataNodesInfoList) {
- this.dataNodesInfoList = dataNodesInfoList;
+ public void setDataNodeConfigurationMap(
+ Map<Integer, TDataNodeConfiguration> dataNodeConfigurationMap) {
+ this.dataNodeConfigurationMap = dataNodeConfigurationMap;
}
public void convertToRpcDataNodeLocationResp(TDataNodeConfigurationResp resp) {
resp.setStatus(status);
if (status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
- resp.setDataNodeConfigurationMap(dataNodeInfoMap);
+ resp.setDataNodeConfigurationMap(dataNodeConfigurationMap);
}
}
}
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/RegionInfoListResp.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/RegionInfoListResp.java
index 045f4fdce8..a38d429745 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/RegionInfoListResp.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/RegionInfoListResp.java
@@ -19,8 +19,8 @@
package org.apache.iotdb.confignode.consensus.response;
-import org.apache.iotdb.common.rpc.thrift.TRegionInfo;
import org.apache.iotdb.common.rpc.thrift.TSStatus;
+import org.apache.iotdb.confignode.rpc.thrift.TRegionInfo;
import org.apache.iotdb.consensus.common.DataSet;
import java.util.List;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConfigManager.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConfigManager.java
index 1f905c0258..2dd21cbb3e 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConfigManager.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConfigManager.java
@@ -23,9 +23,7 @@ import org.apache.iotdb.common.rpc.thrift.TConfigNodeLocation;
import org.apache.iotdb.common.rpc.thrift.TConsensusGroupType;
import org.apache.iotdb.common.rpc.thrift.TDataNodeConfiguration;
import org.apache.iotdb.common.rpc.thrift.TDataNodeLocation;
-import org.apache.iotdb.common.rpc.thrift.TDataNodesInfo;
import org.apache.iotdb.common.rpc.thrift.TFlushReq;
-import org.apache.iotdb.common.rpc.thrift.TRegionInfo;
import org.apache.iotdb.common.rpc.thrift.TSStatus;
import org.apache.iotdb.common.rpc.thrift.TSeriesPartitionSlot;
import org.apache.iotdb.commons.conf.CommonDescriptor;
@@ -75,21 +73,24 @@ import org.apache.iotdb.confignode.persistence.ProcedureInfo;
import org.apache.iotdb.confignode.persistence.UDFInfo;
import org.apache.iotdb.confignode.persistence.executor.ConfigPlanExecutor;
import org.apache.iotdb.confignode.persistence.partition.PartitionInfo;
-import org.apache.iotdb.confignode.rpc.thrift.TClusterNodeInfos;
import org.apache.iotdb.confignode.rpc.thrift.TConfigNodeRegisterReq;
import org.apache.iotdb.confignode.rpc.thrift.TConfigNodeRegisterResp;
import org.apache.iotdb.confignode.rpc.thrift.TCreateSchemaTemplateReq;
+import org.apache.iotdb.confignode.rpc.thrift.TDataNodeInfo;
import org.apache.iotdb.confignode.rpc.thrift.TDataPartitionResp;
import org.apache.iotdb.confignode.rpc.thrift.TDataPartitionTableResp;
import org.apache.iotdb.confignode.rpc.thrift.TGetAllTemplatesResp;
import org.apache.iotdb.confignode.rpc.thrift.TGetPathsSetTemplatesResp;
import org.apache.iotdb.confignode.rpc.thrift.TGetTemplateResp;
import org.apache.iotdb.confignode.rpc.thrift.TPermissionInfoResp;
+import org.apache.iotdb.confignode.rpc.thrift.TRegionInfo;
import org.apache.iotdb.confignode.rpc.thrift.TRegionRouteMapResp;
import org.apache.iotdb.confignode.rpc.thrift.TSchemaNodeManagementResp;
import org.apache.iotdb.confignode.rpc.thrift.TSchemaPartitionResp;
import org.apache.iotdb.confignode.rpc.thrift.TSchemaPartitionTableResp;
import org.apache.iotdb.confignode.rpc.thrift.TSetSchemaTemplateReq;
+import org.apache.iotdb.confignode.rpc.thrift.TShowClusterResp;
+import org.apache.iotdb.confignode.rpc.thrift.TShowDataNodesResp;
import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
import org.apache.iotdb.consensus.common.DataSet;
import org.apache.iotdb.db.mpp.common.schematree.PathPatternTree;
@@ -220,27 +221,25 @@ public class ConfigManager implements IManager {
}
@Override
- public TClusterNodeInfos getAllClusterNodeInfos() {
+ public TShowClusterResp showCluster() {
TSStatus status = confirmLeader();
if (status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
List<TConfigNodeLocation> configNodeLocations = getNodeManager().getRegisteredConfigNodes();
- configNodeLocations.sort(
- Comparator.comparingInt(configNodeLocation -> configNodeLocation.getConfigNodeId()));
+ configNodeLocations.sort(Comparator.comparingInt(TConfigNodeLocation::getConfigNodeId));
List<TDataNodeLocation> dataNodeInfoLocations =
getNodeManager().getRegisteredDataNodes(-1).stream()
.map(TDataNodeConfiguration::getLocation)
+ .sorted(Comparator.comparingInt(TDataNodeLocation::getDataNodeId))
.collect(Collectors.toList());
- dataNodeInfoLocations.sort(
- Comparator.comparingInt(dataNodeInfoLocation -> dataNodeInfoLocation.getDataNodeId()));
Map<Integer, String> nodeStatus = new HashMap<>();
getLoadManager()
.getNodeCacheMap()
.forEach(
(nodeId, heartbeatCache) ->
nodeStatus.put(nodeId, heartbeatCache.getNodeStatus().getStatus()));
- return new TClusterNodeInfos(status, configNodeLocations, dataNodeInfoLocations, nodeStatus);
+ return new TShowClusterResp(status, configNodeLocations, dataNodeInfoLocations, nodeStatus);
} else {
- return new TClusterNodeInfos(status, new ArrayList<>(), new ArrayList<>(), new HashMap<>());
+ return new TShowClusterResp(status, new ArrayList<>(), new ArrayList<>(), new HashMap<>());
}
}
@@ -871,60 +870,55 @@ public class ConfigManager implements IManager {
}
@Override
- public DataSet showDataNodes() {
- TSStatus status = confirmLeader();
- GetRegionInfoListPlan getRegionsinfoReq = new GetRegionInfoListPlan();
- DataNodeConfigurationResp dataNodeConfigurationResp = new DataNodeConfigurationResp();
- if (status.getCode() != TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
- dataNodeConfigurationResp.setStatus(status);
- return dataNodeConfigurationResp;
- }
- List<TDataNodesInfo> dataNodesInfoList = nodeManager.getRegisteredDataNodesInfoList();
- RegionInfoListResp regionsInfoDataSet =
- (RegionInfoListResp) partitionManager.getRegionInfoList(getRegionsinfoReq);
-
- // Map<DataNodeId, DataRegionNum>
- Map<Integer, AtomicInteger> dataRegionNumMap = new HashMap<>();
- // Map<DataNodeId, SchemaRegionNum>
- Map<Integer, AtomicInteger> schemaRegionNumMap = new HashMap<>();
-
- List<TRegionInfo> regionInfoList = regionsInfoDataSet.getRegionInfoList();
- if (CollectionUtils.isNotEmpty(regionInfoList)) {
-
- regionInfoList.forEach(
- (regionInfo) -> {
- int dataNodeId = regionInfo.getDataNodeId();
- int regionTypeValue = regionInfo.getConsensusGroupId().getType().getValue();
- int dataRegionNum =
- regionTypeValue == TConsensusGroupType.DataRegion.getValue() ? 1 : 0;
- int schemaRegionNum =
- regionTypeValue == TConsensusGroupType.SchemaRegion.getValue() ? 1 : 0;
- dataRegionNumMap
- .computeIfAbsent(dataNodeId, key -> new AtomicInteger())
- .addAndGet(dataRegionNum);
- schemaRegionNumMap
- .computeIfAbsent(dataNodeId, key -> new AtomicInteger())
- .addAndGet(schemaRegionNum);
- });
-
- dataNodesInfoList.forEach(
- (dataNodesInfo -> {
- if (dataRegionNumMap.containsKey(dataNodesInfo.getDataNodeId())) {
- dataNodesInfo.setDataRegionNum(
- dataRegionNumMap.get(dataNodesInfo.getDataNodeId()).get());
- }
- if (schemaRegionNumMap.containsKey(dataNodesInfo.getDataNodeId())) {
- dataNodesInfo.setSchemaRegionNum(
- schemaRegionNumMap.get(dataNodesInfo.getDataNodeId()).get());
- }
- }));
- }
-
- dataNodesInfoList.sort(Comparator.comparingInt(TDataNodesInfo::getDataNodeId));
- dataNodeConfigurationResp.setStatus(regionsInfoDataSet.getStatus());
- dataNodeConfigurationResp.setDataNodesInfoList(dataNodesInfoList);
+ public TShowDataNodesResp showDataNodes() {
+ TSStatus status = confirmLeader();
+ TShowDataNodesResp resp = new TShowDataNodesResp();
+ if (status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
+ List<TDataNodeInfo> registeredDataNodesInfoList = nodeManager.getRegisteredDataNodeInfoList();
+
+ // Map<DataNodeId, DataRegionNum>
+ Map<Integer, AtomicInteger> dataRegionNumMap = new HashMap<>();
+ // Map<DataNodeId, SchemaRegionNum>
+ Map<Integer, AtomicInteger> schemaRegionNumMap = new HashMap<>();
+
+ List<TRegionInfo> regionInfoList =
+ ((RegionInfoListResp) partitionManager.getRegionInfoList(new GetRegionInfoListPlan()))
+ .getRegionInfoList();
+ if (CollectionUtils.isNotEmpty(regionInfoList)) {
+
+ regionInfoList.forEach(
+ (regionInfo) -> {
+ int dataNodeId = regionInfo.getDataNodeId();
+ int regionTypeValue = regionInfo.getConsensusGroupId().getType().getValue();
+ int dataRegionNum =
+ regionTypeValue == TConsensusGroupType.DataRegion.getValue() ? 1 : 0;
+ int schemaRegionNum =
+ regionTypeValue == TConsensusGroupType.SchemaRegion.getValue() ? 1 : 0;
+ dataRegionNumMap
+ .computeIfAbsent(dataNodeId, key -> new AtomicInteger())
+ .addAndGet(dataRegionNum);
+ schemaRegionNumMap
+ .computeIfAbsent(dataNodeId, key -> new AtomicInteger())
+ .addAndGet(schemaRegionNum);
+ });
+
+ registeredDataNodesInfoList.forEach(
+ (dataNodesInfo -> {
+ if (dataRegionNumMap.containsKey(dataNodesInfo.getDataNodeId())) {
+ dataNodesInfo.setDataRegionNum(
+ dataRegionNumMap.get(dataNodesInfo.getDataNodeId()).get());
+ }
+ if (schemaRegionNumMap.containsKey(dataNodesInfo.getDataNodeId())) {
+ dataNodesInfo.setSchemaRegionNum(
+ schemaRegionNumMap.get(dataNodesInfo.getDataNodeId()).get());
+ }
+ }));
+ }
- return dataNodeConfigurationResp;
+ return resp.setStatus(StatusUtils.OK);
+ } else {
+ return resp.setStatus(status);
+ }
}
@Override
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/IManager.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/IManager.java
index 79da434580..156d2066bb 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/IManager.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/IManager.java
@@ -38,7 +38,6 @@ import org.apache.iotdb.confignode.consensus.request.write.SetStorageGroupPlan;
import org.apache.iotdb.confignode.consensus.request.write.SetTTLPlan;
import org.apache.iotdb.confignode.consensus.request.write.SetTimePartitionIntervalPlan;
import org.apache.iotdb.confignode.manager.load.LoadManager;
-import org.apache.iotdb.confignode.rpc.thrift.TClusterNodeInfos;
import org.apache.iotdb.confignode.rpc.thrift.TConfigNodeRegisterReq;
import org.apache.iotdb.confignode.rpc.thrift.TConfigNodeRegisterResp;
import org.apache.iotdb.confignode.rpc.thrift.TCreateSchemaTemplateReq;
@@ -49,6 +48,8 @@ import org.apache.iotdb.confignode.rpc.thrift.TPermissionInfoResp;
import org.apache.iotdb.confignode.rpc.thrift.TRegionRouteMapResp;
import org.apache.iotdb.confignode.rpc.thrift.TSchemaNodeManagementResp;
import org.apache.iotdb.confignode.rpc.thrift.TSetSchemaTemplateReq;
+import org.apache.iotdb.confignode.rpc.thrift.TShowClusterResp;
+import org.apache.iotdb.confignode.rpc.thrift.TShowDataNodesResp;
import org.apache.iotdb.consensus.common.DataSet;
import org.apache.iotdb.db.mpp.common.schematree.PathPatternTree;
@@ -138,7 +139,7 @@ public interface IManager {
*/
DataSet getDataNodeConfiguration(GetDataNodeConfigurationPlan getDataNodeConfigurationPlan);
- TClusterNodeInfos getAllClusterNodeInfos();
+ TShowClusterResp showCluster();
TSStatus setTTL(SetTTLPlan configRequest);
@@ -280,8 +281,8 @@ public interface IManager {
/** Show (data/schema) regions */
DataSet showRegion(GetRegionInfoListPlan getRegionInfoListPlan);
- /** Show datanodes */
- DataSet showDataNodes();
+ /** Show DataNodes */
+ TShowDataNodesResp showDataNodes();
/**
* create schema template
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/NodeManager.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/NodeManager.java
index 855bc4ec7a..1b18fb6815 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/NodeManager.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/NodeManager.java
@@ -21,7 +21,6 @@ package org.apache.iotdb.confignode.manager;
import org.apache.iotdb.common.rpc.thrift.TConfigNodeLocation;
import org.apache.iotdb.common.rpc.thrift.TDataNodeConfiguration;
import org.apache.iotdb.common.rpc.thrift.TDataNodeLocation;
-import org.apache.iotdb.common.rpc.thrift.TDataNodesInfo;
import org.apache.iotdb.common.rpc.thrift.TFlushReq;
import org.apache.iotdb.common.rpc.thrift.TSStatus;
import org.apache.iotdb.commons.consensus.ConsensusGroupId;
@@ -42,6 +41,7 @@ import org.apache.iotdb.confignode.persistence.NodeInfo;
import org.apache.iotdb.confignode.procedure.env.DataNodeRemoveHandler;
import org.apache.iotdb.confignode.rpc.thrift.TConfigNodeRegisterReq;
import org.apache.iotdb.confignode.rpc.thrift.TConfigNodeRegisterResp;
+import org.apache.iotdb.confignode.rpc.thrift.TDataNodeInfo;
import org.apache.iotdb.confignode.rpc.thrift.TGlobalConfig;
import org.apache.iotdb.consensus.common.DataSet;
import org.apache.iotdb.consensus.common.Peer;
@@ -216,27 +216,25 @@ public class NodeManager {
return dataNodeLocations;
}
- public List<TDataNodesInfo> getRegisteredDataNodesInfoList() {
- List<TDataNodesInfo> dataNodesLocations = new ArrayList<>();
+ public List<TDataNodeInfo> getRegisteredDataNodeInfoList() {
+ List<TDataNodeInfo> dataNodeInfoList = new ArrayList<>();
List<TDataNodeConfiguration> registeredDataNodes = this.getRegisteredDataNodes(-1);
if (registeredDataNodes != null) {
registeredDataNodes.forEach(
(dataNodeInfo) -> {
- TDataNodesInfo tDataNodesLocation = new TDataNodesInfo();
+ TDataNodeInfo info = new TDataNodeInfo();
int dataNodeId = dataNodeInfo.getLocation().getDataNodeId();
- tDataNodesLocation.setDataNodeId(dataNodeId);
- tDataNodesLocation.setStatus(
+ info.setDataNodeId(dataNodeId);
+ info.setStatus(
getLoadManager().getNodeCacheMap().get(dataNodeId).getNodeStatus().getStatus());
- tDataNodesLocation.setRpcAddresss(
- dataNodeInfo.getLocation().getClientRpcEndPoint().getIp());
- tDataNodesLocation.setRpcPort(
- dataNodeInfo.getLocation().getClientRpcEndPoint().getPort());
- tDataNodesLocation.setDataRegionNum(0);
- tDataNodesLocation.setSchemaRegionNum(0);
- dataNodesLocations.add(tDataNodesLocation);
+ info.setRpcAddresss(dataNodeInfo.getLocation().getClientRpcEndPoint().getIp());
+ info.setRpcPort(dataNodeInfo.getLocation().getClientRpcEndPoint().getPort());
+ info.setDataRegionNum(0);
+ info.setSchemaRegionNum(0);
+ dataNodeInfoList.add(info);
});
}
- return dataNodesLocations;
+ return dataNodeInfoList;
}
/**
* Provides ConfigNodeGroup information for the newly registered ConfigNode
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/NodeInfo.java b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/NodeInfo.java
index 4e78dd3e67..5d71b5da60 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/NodeInfo.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/NodeInfo.java
@@ -224,9 +224,9 @@ public class NodeInfo implements SnapshotProcessor {
dataNodeInfoReadWriteLock.readLock().lock();
try {
if (dataNodeId == -1) {
- result.setDataNodeInfoMap(new HashMap<>(registeredDataNodes));
+ result.setDataNodeConfigurationMap(new HashMap<>(registeredDataNodes));
} else {
- result.setDataNodeInfoMap(
+ result.setDataNodeConfigurationMap(
registeredDataNodes.get(dataNodeId) == null
? new HashMap<>(0)
: Collections.singletonMap(dataNodeId, registeredDataNodes.get(dataNodeId)));
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/PartitionInfo.java b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/PartitionInfo.java
index 616023d1eb..1ca8831bf6 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/PartitionInfo.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/PartitionInfo.java
@@ -22,7 +22,6 @@ package org.apache.iotdb.confignode.persistence.partition;
import org.apache.iotdb.common.rpc.thrift.TConsensusGroupId;
import org.apache.iotdb.common.rpc.thrift.TConsensusGroupType;
import org.apache.iotdb.common.rpc.thrift.TDataNodeLocation;
-import org.apache.iotdb.common.rpc.thrift.TRegionInfo;
import org.apache.iotdb.common.rpc.thrift.TRegionReplicaSet;
import org.apache.iotdb.common.rpc.thrift.TSStatus;
import org.apache.iotdb.common.rpc.thrift.TSeriesPartitionSlot;
@@ -45,6 +44,7 @@ import org.apache.iotdb.confignode.consensus.response.RegionInfoListResp;
import org.apache.iotdb.confignode.consensus.response.SchemaNodeManagementResp;
import org.apache.iotdb.confignode.consensus.response.SchemaPartitionResp;
import org.apache.iotdb.confignode.exception.StorageGroupNotExistsException;
+import org.apache.iotdb.confignode.rpc.thrift.TRegionInfo;
import org.apache.iotdb.confignode.rpc.thrift.TShowRegionReq;
import org.apache.iotdb.consensus.common.DataSet;
import org.apache.iotdb.db.service.metrics.MetricsService;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/StorageGroupPartitionTable.java b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/StorageGroupPartitionTable.java
index ff41b905bc..418d5c5d79 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/StorageGroupPartitionTable.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/StorageGroupPartitionTable.java
@@ -21,7 +21,6 @@ package org.apache.iotdb.confignode.persistence.partition;
import org.apache.iotdb.common.rpc.thrift.TConsensusGroupId;
import org.apache.iotdb.common.rpc.thrift.TConsensusGroupType;
import org.apache.iotdb.common.rpc.thrift.TDataNodeLocation;
-import org.apache.iotdb.common.rpc.thrift.TRegionInfo;
import org.apache.iotdb.common.rpc.thrift.TRegionReplicaSet;
import org.apache.iotdb.common.rpc.thrift.TSeriesPartitionSlot;
import org.apache.iotdb.common.rpc.thrift.TTimePartitionSlot;
@@ -29,6 +28,7 @@ import org.apache.iotdb.commons.cluster.RegionStatus;
import org.apache.iotdb.commons.partition.DataPartitionTable;
import org.apache.iotdb.commons.partition.SchemaPartitionTable;
import org.apache.iotdb.confignode.consensus.request.read.GetRegionInfoListPlan;
+import org.apache.iotdb.confignode.rpc.thrift.TRegionInfo;
import org.apache.iotdb.confignode.rpc.thrift.TShowRegionReq;
import org.apache.iotdb.db.service.metrics.MetricsService;
import org.apache.iotdb.db.service.metrics.enums.Metric;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceProcessor.java b/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceProcessor.java
index 1d104f23f7..10773be9c3 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceProcessor.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceProcessor.java
@@ -60,7 +60,6 @@ import org.apache.iotdb.confignode.rpc.thrift.IConfigNodeRPCService;
import org.apache.iotdb.confignode.rpc.thrift.TAuthorizerReq;
import org.apache.iotdb.confignode.rpc.thrift.TAuthorizerResp;
import org.apache.iotdb.confignode.rpc.thrift.TCheckUserPrivilegesReq;
-import org.apache.iotdb.confignode.rpc.thrift.TClusterNodeInfos;
import org.apache.iotdb.confignode.rpc.thrift.TConfigNodeRegisterReq;
import org.apache.iotdb.confignode.rpc.thrift.TConfigNodeRegisterResp;
import org.apache.iotdb.confignode.rpc.thrift.TCountStorageGroupResp;
@@ -94,6 +93,7 @@ import org.apache.iotdb.confignode.rpc.thrift.TSetSchemaReplicationFactorReq;
import org.apache.iotdb.confignode.rpc.thrift.TSetSchemaTemplateReq;
import org.apache.iotdb.confignode.rpc.thrift.TSetStorageGroupReq;
import org.apache.iotdb.confignode.rpc.thrift.TSetTimePartitionIntervalReq;
+import org.apache.iotdb.confignode.rpc.thrift.TShowClusterResp;
import org.apache.iotdb.confignode.rpc.thrift.TShowDataNodesResp;
import org.apache.iotdb.confignode.rpc.thrift.TShowRegionReq;
import org.apache.iotdb.confignode.rpc.thrift.TShowRegionResp;
@@ -181,8 +181,8 @@ public class ConfigNodeRPCServiceProcessor implements IConfigNodeRPCService.Ifac
}
@Override
- public TClusterNodeInfos getAllClusterNodeInfos() throws TException {
- return configManager.getAllClusterNodeInfos();
+ public TShowClusterResp showCluster() throws TException {
+ return configManager.showCluster();
}
@Override
@@ -548,11 +548,7 @@ public class ConfigNodeRPCServiceProcessor implements IConfigNodeRPCService.Ifac
@Override
public TShowDataNodesResp showDataNodes() throws TException {
- DataNodeConfigurationResp dataSet = (DataNodeConfigurationResp) configManager.showDataNodes();
- TShowDataNodesResp showDataNodesResp = new TShowDataNodesResp();
- showDataNodesResp.setStatus(dataSet.getStatus());
- showDataNodesResp.setDataNodesInfoList(dataSet.getDataNodesInfoList());
- return showDataNodesResp;
+ return configManager.showDataNodes();
}
public void handleClientExit() {}
diff --git a/confignode/src/test/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceProcessorTest.java b/confignode/src/test/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceProcessorTest.java
index 2aa109e30d..ee81f23bdd 100644
--- a/confignode/src/test/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceProcessorTest.java
+++ b/confignode/src/test/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceProcessorTest.java
@@ -47,7 +47,6 @@ import org.apache.iotdb.confignode.procedure.env.ConfigNodeProcedureEnv;
import org.apache.iotdb.confignode.rpc.thrift.TAuthorizerReq;
import org.apache.iotdb.confignode.rpc.thrift.TAuthorizerResp;
import org.apache.iotdb.confignode.rpc.thrift.TCheckUserPrivilegesReq;
-import org.apache.iotdb.confignode.rpc.thrift.TClusterNodeInfos;
import org.apache.iotdb.confignode.rpc.thrift.TCountStorageGroupResp;
import org.apache.iotdb.confignode.rpc.thrift.TDataNodeConfigurationResp;
import org.apache.iotdb.confignode.rpc.thrift.TDataNodeRegisterReq;
@@ -64,6 +63,7 @@ import org.apache.iotdb.confignode.rpc.thrift.TSetDataReplicationFactorReq;
import org.apache.iotdb.confignode.rpc.thrift.TSetSchemaReplicationFactorReq;
import org.apache.iotdb.confignode.rpc.thrift.TSetStorageGroupReq;
import org.apache.iotdb.confignode.rpc.thrift.TSetTimePartitionIntervalReq;
+import org.apache.iotdb.confignode.rpc.thrift.TShowClusterResp;
import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchemaResp;
import org.apache.iotdb.db.mpp.common.schematree.PathPatternTree;
@@ -231,10 +231,10 @@ public class ConfigNodeRPCServiceProcessorTest {
}
@Test
- public void getAllClusterNodeInfosTest() throws TException {
+ public void showClusterTest() throws TException {
registerDataNodes();
- TClusterNodeInfos clusterNodes = processor.getAllClusterNodeInfos();
+ TShowClusterResp clusterNodes = processor.showCluster();
List<TDataNodeLocation> dataNodeInfos = clusterNodes.getDataNodeList();
Assert.assertEquals(3, dataNodeInfos.size());
diff --git a/server/src/main/java/org/apache/iotdb/db/client/ConfigNodeClient.java b/server/src/main/java/org/apache/iotdb/db/client/ConfigNodeClient.java
index e39c00f533..6b773896d8 100644
--- a/server/src/main/java/org/apache/iotdb/db/client/ConfigNodeClient.java
+++ b/server/src/main/java/org/apache/iotdb/db/client/ConfigNodeClient.java
@@ -35,7 +35,6 @@ import org.apache.iotdb.confignode.rpc.thrift.IConfigNodeRPCService;
import org.apache.iotdb.confignode.rpc.thrift.TAuthorizerReq;
import org.apache.iotdb.confignode.rpc.thrift.TAuthorizerResp;
import org.apache.iotdb.confignode.rpc.thrift.TCheckUserPrivilegesReq;
-import org.apache.iotdb.confignode.rpc.thrift.TClusterNodeInfos;
import org.apache.iotdb.confignode.rpc.thrift.TConfigNodeRegisterReq;
import org.apache.iotdb.confignode.rpc.thrift.TConfigNodeRegisterResp;
import org.apache.iotdb.confignode.rpc.thrift.TCountStorageGroupResp;
@@ -69,6 +68,7 @@ import org.apache.iotdb.confignode.rpc.thrift.TSetSchemaReplicationFactorReq;
import org.apache.iotdb.confignode.rpc.thrift.TSetSchemaTemplateReq;
import org.apache.iotdb.confignode.rpc.thrift.TSetStorageGroupReq;
import org.apache.iotdb.confignode.rpc.thrift.TSetTimePartitionIntervalReq;
+import org.apache.iotdb.confignode.rpc.thrift.TShowClusterResp;
import org.apache.iotdb.confignode.rpc.thrift.TShowDataNodesResp;
import org.apache.iotdb.confignode.rpc.thrift.TShowRegionReq;
import org.apache.iotdb.confignode.rpc.thrift.TShowRegionResp;
@@ -325,10 +325,10 @@ public class ConfigNodeClient
}
@Override
- public TClusterNodeInfos getAllClusterNodeInfos() throws TException {
+ public TShowClusterResp showCluster() throws TException {
for (int i = 0; i < RETRY_NUM; i++) {
try {
- TClusterNodeInfos resp = client.getAllClusterNodeInfos();
+ TShowClusterResp resp = client.showCluster();
if (!updateConfigNodeLeader(resp.status)) {
return resp;
}
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/ShowClusterTask.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/ShowClusterTask.java
index 2b1c810e7d..176b3420c4 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/ShowClusterTask.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/ShowClusterTask.java
@@ -19,7 +19,7 @@
package org.apache.iotdb.db.mpp.plan.execution.config;
-import org.apache.iotdb.confignode.rpc.thrift.TClusterNodeInfos;
+import org.apache.iotdb.confignode.rpc.thrift.TShowClusterResp;
import org.apache.iotdb.db.mpp.common.header.DatasetHeader;
import org.apache.iotdb.db.mpp.common.header.HeaderConstant;
import org.apache.iotdb.db.mpp.plan.execution.config.executor.IConfigTaskExecutor;
@@ -61,7 +61,7 @@ public class ShowClusterTask implements IConfigTask {
}
public static void buildTSBlock(
- TClusterNodeInfos clusterNodeInfos, SettableFuture<ConfigTaskResult> future) {
+ TShowClusterResp clusterNodeInfos, SettableFuture<ConfigTaskResult> future) {
TsBlockBuilder builder =
new TsBlockBuilder(HeaderConstant.showClusterHeader.getRespDataTypes());
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/ShowDataNodesTask.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/ShowDataNodesTask.java
index b4f3673ce9..514d9cfe69 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/ShowDataNodesTask.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/ShowDataNodesTask.java
@@ -19,7 +19,7 @@
package org.apache.iotdb.db.mpp.plan.execution.config;
-import org.apache.iotdb.common.rpc.thrift.TDataNodesInfo;
+import org.apache.iotdb.confignode.rpc.thrift.TDataNodeInfo;
import org.apache.iotdb.confignode.rpc.thrift.TShowDataNodesResp;
import org.apache.iotdb.db.mpp.common.header.DatasetHeader;
import org.apache.iotdb.db.mpp.common.header.HeaderConstant;
@@ -53,22 +53,19 @@ public class ShowDataNodesTask implements IConfigTask {
TsBlockBuilder builder =
new TsBlockBuilder(HeaderConstant.showDataNodesHeader.getRespDataTypes());
if (showDataNodesResp.getDataNodesInfoList() != null) {
- for (TDataNodesInfo tDataNodesLocation : showDataNodesResp.getDataNodesInfoList()) {
+ for (TDataNodeInfo dataNodeInfo : showDataNodesResp.getDataNodesInfoList()) {
builder.getTimeColumnBuilder().writeLong(0L);
- builder.getColumnBuilder(0).writeInt(tDataNodesLocation.getDataNodeId());
+ builder.getColumnBuilder(0).writeInt(dataNodeInfo.getDataNodeId());
builder
.getColumnBuilder(1)
.writeBinary(
- Binary.valueOf(
- tDataNodesLocation.getStatus() == null ? "" : tDataNodesLocation.getStatus()));
+ Binary.valueOf(dataNodeInfo.getStatus() == null ? "" : dataNodeInfo.getStatus()));
- builder
- .getColumnBuilder(2)
- .writeBinary(Binary.valueOf(tDataNodesLocation.getRpcAddresss()));
- builder.getColumnBuilder(3).writeInt(tDataNodesLocation.getRpcPort());
- builder.getColumnBuilder(4).writeInt(tDataNodesLocation.getDataRegionNum());
+ builder.getColumnBuilder(2).writeBinary(Binary.valueOf(dataNodeInfo.getRpcAddresss()));
+ builder.getColumnBuilder(3).writeInt(dataNodeInfo.getRpcPort());
+ builder.getColumnBuilder(4).writeInt(dataNodeInfo.getDataRegionNum());
- builder.getColumnBuilder(5).writeInt(tDataNodesLocation.getSchemaRegionNum());
+ builder.getColumnBuilder(5).writeInt(dataNodeInfo.getSchemaRegionNum());
builder.declarePosition();
}
}
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/ShowRegionTask.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/ShowRegionTask.java
index 25cdb931ca..2c84953129 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/ShowRegionTask.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/ShowRegionTask.java
@@ -20,7 +20,7 @@
package org.apache.iotdb.db.mpp.plan.execution.config;
import org.apache.iotdb.common.rpc.thrift.TConsensusGroupType;
-import org.apache.iotdb.common.rpc.thrift.TRegionInfo;
+import org.apache.iotdb.confignode.rpc.thrift.TRegionInfo;
import org.apache.iotdb.confignode.rpc.thrift.TShowRegionResp;
import org.apache.iotdb.db.mpp.common.header.DatasetHeader;
import org.apache.iotdb.db.mpp.common.header.HeaderConstant;
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/executor/ClusterConfigTaskExecutor.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/executor/ClusterConfigTaskExecutor.java
index ee8c02b9ce..be2cb3167c 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/executor/ClusterConfigTaskExecutor.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/executor/ClusterConfigTaskExecutor.java
@@ -26,13 +26,13 @@ import org.apache.iotdb.commons.client.IClientManager;
import org.apache.iotdb.commons.consensus.PartitionRegionId;
import org.apache.iotdb.commons.exception.IoTDBException;
import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.confignode.rpc.thrift.TClusterNodeInfos;
import org.apache.iotdb.confignode.rpc.thrift.TCountStorageGroupResp;
import org.apache.iotdb.confignode.rpc.thrift.TCreateFunctionReq;
import org.apache.iotdb.confignode.rpc.thrift.TDeleteStorageGroupsReq;
import org.apache.iotdb.confignode.rpc.thrift.TDropFunctionReq;
import org.apache.iotdb.confignode.rpc.thrift.TGetTemplateResp;
import org.apache.iotdb.confignode.rpc.thrift.TSetStorageGroupReq;
+import org.apache.iotdb.confignode.rpc.thrift.TShowClusterResp;
import org.apache.iotdb.confignode.rpc.thrift.TShowDataNodesResp;
import org.apache.iotdb.confignode.rpc.thrift.TShowRegionReq;
import org.apache.iotdb.confignode.rpc.thrift.TShowRegionResp;
@@ -288,15 +288,15 @@ public class ClusterConfigTaskExecutor implements IConfigTaskExecutor {
@Override
public SettableFuture<ConfigTaskResult> showCluster() {
SettableFuture<ConfigTaskResult> future = SettableFuture.create();
- TClusterNodeInfos clusterNodeInfos = new TClusterNodeInfos();
+ TShowClusterResp showClusterResp = new TShowClusterResp();
try (ConfigNodeClient client =
CONFIG_NODE_CLIENT_MANAGER.borrowClient(ConfigNodeInfo.partitionRegionId)) {
- clusterNodeInfos = client.getAllClusterNodeInfos();
+ showClusterResp = client.showCluster();
} catch (TException | IOException e) {
future.setException(e);
}
// build TSBlock
- ShowClusterTask.buildTSBlock(clusterNodeInfos, future);
+ ShowClusterTask.buildTSBlock(showClusterResp, future);
return future;
}
diff --git a/thrift-commons/src/main/thrift/common.thrift b/thrift-commons/src/main/thrift/common.thrift
index 8b8b982798..4c2ae8ac04 100644
--- a/thrift-commons/src/main/thrift/common.thrift
+++ b/thrift-commons/src/main/thrift/common.thrift
@@ -88,18 +88,6 @@ struct TDataNodeConfiguration {
2: required TNodeResource resource
}
-// For show regions
-struct TRegionInfo {
- 1: required TConsensusGroupId consensusGroupId
- 2: required string storageGroup
- 3: required i32 dataNodeId
- 4: required string clientRpcIp
- 5: required i32 clientRpcPort
- 6: required i64 seriesSlots
- 7: required i64 timeSlots
- 8: optional string status
-}
-
enum TRegionMigrateFailedType {
AddPeerFailed,
RemovePeerFailed,
@@ -114,15 +102,6 @@ struct TFlushReq {
3: optional i32 dataNodeId
}
-struct TDataNodesInfo {
- 1: required i32 dataNodeId
- 2: required string status
- 3: required string rpcAddresss
- 4: required i32 rpcPort
- 5: required i32 dataRegionNum
- 6: required i32 schemaRegionNum
-}
-
struct TSetTTLReq {
1: required string storageGroup
2: required i64 TTL
diff --git a/thrift-confignode/src/main/thrift/confignode.thrift b/thrift-confignode/src/main/thrift/confignode.thrift
index 9f67b2bb4d..4224ee627a 100644
--- a/thrift-confignode/src/main/thrift/confignode.thrift
+++ b/thrift-confignode/src/main/thrift/confignode.thrift
@@ -232,14 +232,6 @@ struct TConfigNodeRegisterResp {
3: optional list<common.TConfigNodeLocation> configNodeList
}
-// Show cluster
-struct TClusterNodeInfos {
- 1: required common.TSStatus status
- 2: required list<common.TConfigNodeLocation> configNodeList
- 3: required list<common.TDataNodeLocation> dataNodeList
- 4: required map<i32, string> nodeStatus
-}
-
// UDF
struct TCreateFunctionReq {
1: required string udfName
@@ -251,23 +243,52 @@ struct TDropFunctionReq {
1: required string udfName
}
-// show regions
+// Show cluster
+struct TShowClusterResp {
+ 1: required common.TSStatus status
+ 2: required list<common.TConfigNodeLocation> configNodeList
+ 3: required list<common.TDataNodeLocation> dataNodeList
+ 4: required map<i32, string> nodeStatus
+}
+
+// Show datanodes
+struct TDataNodeInfo {
+ 1: required i32 dataNodeId
+ 2: required string status
+ 3: required string rpcAddresss
+ 4: required i32 rpcPort
+ 5: required i32 dataRegionNum
+ 6: required i32 schemaRegionNum
+}
+
+struct TShowDataNodesResp {
+ 1: required common.TSStatus status
+ 2: optional list<TDataNodeInfo> dataNodesInfoList
+}
+
+// Show regions
struct TShowRegionReq {
1: optional common.TConsensusGroupType consensusGroupType;
2: optional list<string> storageGroups
}
-struct TShowRegionResp {
- 1: required common.TSStatus status
- 2: optional list<common.TRegionInfo> regionInfoList;
+struct TRegionInfo {
+ 1: required common.TConsensusGroupId consensusGroupId
+ 2: required string storageGroup
+ 3: required i32 dataNodeId
+ 4: required string clientRpcIp
+ 5: required i32 clientRpcPort
+ 6: required i64 seriesSlots
+ 7: required i64 timeSlots
+ 8: optional string status
}
-// show datanodes
-struct TShowDataNodesResp {
+struct TShowRegionResp {
1: required common.TSStatus status
- 2: optional list<common.TDataNodesInfo> dataNodesInfoList
+ 2: optional list<TRegionInfo> regionInfoList;
}
+// Routing
struct TRegionRouteMapResp {
1: required common.TSStatus status
// For version stamp
@@ -277,7 +298,6 @@ struct TRegionRouteMapResp {
3: optional map<common.TConsensusGroupId, common.TRegionReplicaSet> regionRouteMap
}
-
// Template
struct TCreateSchemaTemplateReq {
1: required string name
@@ -315,9 +335,6 @@ service IConfigNodeRPCService {
common.TSStatus reportRegionMigrateResult(TRegionMigrateResultReportReq req)
- /* Show Cluster */
- TClusterNodeInfos getAllClusterNodeInfos()
-
/* StorageGroup */
common.TSStatus setStorageGroup(TSetStorageGroupReq req)
@@ -400,7 +417,11 @@ service IConfigNodeRPCService {
common.TSStatus flush(common.TFlushReq req)
- /* Show Region */
+ /* Cluster Tools */
+
+ TShowClusterResp showCluster()
+
+ TShowDataNodesResp showDataNodes()
TShowRegionResp showRegion(TShowRegionReq req)
@@ -412,10 +433,6 @@ service IConfigNodeRPCService {
i64 getConfigNodeHeartBeat(i64 timestamp)
- /* Show DataNodes */
-
- TShowDataNodesResp showDataNodes()
-
/* Template */
common.TSStatus createSchemaTemplate(TCreateSchemaTemplateReq req)