This is an automated email from the ASF dual-hosted git repository.
jackietien 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 cec372a Add interface in ConfigIService (#5386)
cec372a is described below
commit cec372afef0f484c456d832fff036cc173533c0b
Author: liuminghui233 <[email protected]>
AuthorDate: Thu Mar 31 18:27:23 2022 +0800
Add interface in ConfigIService (#5386)
---
.../server/ConfigNodeRPCServerProcessor.java | 22 ++++++++++++
.../commons/partition/DataPartitionQueryParam.java | 10 +++---
.../apache/iotdb/db/mpp/sql/analyze/Analyzer.java | 4 +--
.../mpp/sql/analyze/ClusterPartitionFetcher.java | 4 +--
.../mpp/sql/analyze/FakePartitionFetcherImpl.java | 4 +--
.../db/mpp/sql/analyze/IPartitionFetcher.java | 4 +--
.../sql/analyze/StandalonePartitionFetcher.java | 4 +--
.../src/main/thrift/confignode.thrift | 40 ++++++++++++++++++++++
8 files changed, 77 insertions(+), 15 deletions(-)
diff --git
a/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/server/ConfigNodeRPCServerProcessor.java
b/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/server/ConfigNodeRPCServerProcessor.java
index e1e8dbc..9619301 100644
---
a/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/server/ConfigNodeRPCServerProcessor.java
+++
b/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/server/ConfigNodeRPCServerProcessor.java
@@ -32,11 +32,17 @@ import
org.apache.iotdb.confignode.rpc.thrift.DataNodeMessage;
import org.apache.iotdb.confignode.rpc.thrift.DataNodeRegisterReq;
import org.apache.iotdb.confignode.rpc.thrift.DataNodeRegisterResp;
import org.apache.iotdb.confignode.rpc.thrift.DataPartitionInfo;
+import org.apache.iotdb.confignode.rpc.thrift.DataPartitionInfoResp;
import org.apache.iotdb.confignode.rpc.thrift.DeleteStorageGroupReq;
import org.apache.iotdb.confignode.rpc.thrift.DeviceGroupHashInfo;
+import org.apache.iotdb.confignode.rpc.thrift.FetchDataPartitionReq;
+import org.apache.iotdb.confignode.rpc.thrift.FetchPartitionReq;
+import org.apache.iotdb.confignode.rpc.thrift.FetchSchemaPartitionReq;
import org.apache.iotdb.confignode.rpc.thrift.GetDataPartitionReq;
import org.apache.iotdb.confignode.rpc.thrift.GetSchemaPartitionReq;
+import org.apache.iotdb.confignode.rpc.thrift.PartitionInfoResp;
import org.apache.iotdb.confignode.rpc.thrift.SchemaPartitionInfo;
+import org.apache.iotdb.confignode.rpc.thrift.SchemaPartitionInfoResp;
import org.apache.iotdb.confignode.rpc.thrift.SetStorageGroupReq;
import org.apache.iotdb.confignode.rpc.thrift.StorageGroupMessage;
import org.apache.iotdb.consensus.common.Endpoint;
@@ -156,6 +162,22 @@ public class ConfigNodeRPCServerProcessor implements
ConfigIService.Iface {
return null;
}
+ @Override
+ public DataPartitionInfoResp fetchDataPartitionInfo(FetchDataPartitionReq
req) throws TException {
+ return null;
+ }
+
+ @Override
+ public SchemaPartitionInfoResp
fetchSchemaPartitionInfo(FetchSchemaPartitionReq req)
+ throws TException {
+ return null;
+ }
+
+ @Override
+ public PartitionInfoResp fetchPartitionInfo(FetchPartitionReq req) throws
TException {
+ return null;
+ }
+
public void handleClientExit() {}
// TODO: Interfaces for data operations
diff --git
a/node-commons/src/main/java/org/apache/iotdb/commons/partition/DataPartitionQueryParam.java
b/node-commons/src/main/java/org/apache/iotdb/commons/partition/DataPartitionQueryParam.java
index 60cdf7c..cf17815 100644
---
a/node-commons/src/main/java/org/apache/iotdb/commons/partition/DataPartitionQueryParam.java
+++
b/node-commons/src/main/java/org/apache/iotdb/commons/partition/DataPartitionQueryParam.java
@@ -22,15 +22,15 @@ import java.util.List;
public class DataPartitionQueryParam {
- private String deviceId;
+ private String devicePath;
private List<TimePartitionId> timePartitionIdList;
- public String getDeviceId() {
- return deviceId;
+ public String getDevicePath() {
+ return devicePath;
}
- public void setDeviceId(String deviceId) {
- this.deviceId = deviceId;
+ public void setDevicePath(String devicePath) {
+ this.devicePath = devicePath;
}
public List<TimePartitionId> getTimePartitionIdList() {
diff --git
a/server/src/main/java/org/apache/iotdb/db/mpp/sql/analyze/Analyzer.java
b/server/src/main/java/org/apache/iotdb/db/mpp/sql/analyze/Analyzer.java
index 2b905f6..92d1270 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/sql/analyze/Analyzer.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/sql/analyze/Analyzer.java
@@ -107,7 +107,7 @@ public class Analyzer {
List<DataPartitionQueryParam> dataPartitionQueryParams = new
ArrayList<>();
for (String deviceId : deviceIdToPathsMap.keySet()) {
DataPartitionQueryParam dataPartitionQueryParam = new
DataPartitionQueryParam();
- dataPartitionQueryParam.setDeviceId(deviceId);
+ dataPartitionQueryParam.setDevicePath(deviceId);
dataPartitionQueryParams.add(dataPartitionQueryParam);
}
DataPartitionInfo dataPartitionInfo =
@@ -198,7 +198,7 @@ public class Analyzer {
InsertTabletStatement insertTabletStatement, MPPQueryContext context) {
// TODO(INSERT) device + time range -> PartitionInfo
DataPartitionQueryParam dataPartitionQueryParam = new
DataPartitionQueryParam();
-
dataPartitionQueryParam.setDeviceId(insertTabletStatement.getDevicePath().getFullPath());
+
dataPartitionQueryParam.setDevicePath(insertTabletStatement.getDevicePath().getFullPath());
// TODO(INSERT) calculate the time partition id list
// dataPartitionQueryParam.setTimePartitionIdList();
PartitionInfo partitionInfo =
partitionFetcher.fetchPartitionInfo(dataPartitionQueryParam);
diff --git
a/server/src/main/java/org/apache/iotdb/db/mpp/sql/analyze/ClusterPartitionFetcher.java
b/server/src/main/java/org/apache/iotdb/db/mpp/sql/analyze/ClusterPartitionFetcher.java
index cdecf45..e17c38a 100644
---
a/server/src/main/java/org/apache/iotdb/db/mpp/sql/analyze/ClusterPartitionFetcher.java
+++
b/server/src/main/java/org/apache/iotdb/db/mpp/sql/analyze/ClusterPartitionFetcher.java
@@ -38,12 +38,12 @@ public class ClusterPartitionFetcher implements
IPartitionFetcher {
}
@Override
- public SchemaPartitionInfo fetchSchemaPartitionInfo(String deviceId) {
+ public SchemaPartitionInfo fetchSchemaPartitionInfo(String devicePath) {
return null;
}
@Override
- public SchemaPartitionInfo fetchSchemaPartitionInfos(List<String> deviceId) {
+ public SchemaPartitionInfo fetchSchemaPartitionInfos(List<String>
devicePath) {
return null;
}
diff --git
a/server/src/main/java/org/apache/iotdb/db/mpp/sql/analyze/FakePartitionFetcherImpl.java
b/server/src/main/java/org/apache/iotdb/db/mpp/sql/analyze/FakePartitionFetcherImpl.java
index ecee1a3..0fdc000 100644
---
a/server/src/main/java/org/apache/iotdb/db/mpp/sql/analyze/FakePartitionFetcherImpl.java
+++
b/server/src/main/java/org/apache/iotdb/db/mpp/sql/analyze/FakePartitionFetcherImpl.java
@@ -86,12 +86,12 @@ public class FakePartitionFetcherImpl implements
IPartitionFetcher {
}
@Override
- public SchemaPartitionInfo fetchSchemaPartitionInfo(String deviceId) {
+ public SchemaPartitionInfo fetchSchemaPartitionInfo(String devicePath) {
return null;
}
@Override
- public SchemaPartitionInfo fetchSchemaPartitionInfos(List<String> deviceId) {
+ public SchemaPartitionInfo fetchSchemaPartitionInfos(List<String>
devicePath) {
return null;
}
diff --git
a/server/src/main/java/org/apache/iotdb/db/mpp/sql/analyze/IPartitionFetcher.java
b/server/src/main/java/org/apache/iotdb/db/mpp/sql/analyze/IPartitionFetcher.java
index d29c601..476bc16 100644
---
a/server/src/main/java/org/apache/iotdb/db/mpp/sql/analyze/IPartitionFetcher.java
+++
b/server/src/main/java/org/apache/iotdb/db/mpp/sql/analyze/IPartitionFetcher.java
@@ -31,9 +31,9 @@ public interface IPartitionFetcher {
DataPartitionInfo fetchDataPartitionInfos(List<DataPartitionQueryParam>
parameterList);
- SchemaPartitionInfo fetchSchemaPartitionInfo(String deviceId);
+ SchemaPartitionInfo fetchSchemaPartitionInfo(String devicePath);
- SchemaPartitionInfo fetchSchemaPartitionInfos(List<String> deviceId);
+ SchemaPartitionInfo fetchSchemaPartitionInfos(List<String> devicePath);
PartitionInfo fetchPartitionInfo(DataPartitionQueryParam parameter);
diff --git
a/server/src/main/java/org/apache/iotdb/db/mpp/sql/analyze/StandalonePartitionFetcher.java
b/server/src/main/java/org/apache/iotdb/db/mpp/sql/analyze/StandalonePartitionFetcher.java
index ca274a5..f2ba551 100644
---
a/server/src/main/java/org/apache/iotdb/db/mpp/sql/analyze/StandalonePartitionFetcher.java
+++
b/server/src/main/java/org/apache/iotdb/db/mpp/sql/analyze/StandalonePartitionFetcher.java
@@ -45,12 +45,12 @@ public class StandalonePartitionFetcher implements
IPartitionFetcher {
}
@Override
- public SchemaPartitionInfo fetchSchemaPartitionInfo(String deviceId) {
+ public SchemaPartitionInfo fetchSchemaPartitionInfo(String devicePath) {
return null;
}
@Override
- public SchemaPartitionInfo fetchSchemaPartitionInfos(List<String> deviceId) {
+ public SchemaPartitionInfo fetchSchemaPartitionInfos(List<String>
devicePath) {
return null;
}
diff --git a/thrift-confignode/src/main/thrift/confignode.thrift
b/thrift-confignode/src/main/thrift/confignode.thrift
index ded2230..d58b449 100644
--- a/thrift-confignode/src/main/thrift/confignode.thrift
+++ b/thrift-confignode/src/main/thrift/confignode.thrift
@@ -76,6 +76,40 @@ struct DeviceGroupHashInfo {
2: required string hashClass
}
+struct FetchDataPartitionReq {
+ 1: required map<i32, list<i64>> deviceGroupIDToStartTimeMap
+}
+
+struct FetchSchemaPartitionReq {
+ 1: required list<string> devicePaths
+}
+
+struct FetchPartitionReq {
+ 1: required map<i32, list<i64>> deviceGroupIDToStartTimeMap
+}
+
+struct RegionInfo {
+ 1: required i32 regionId
+ 2: required list<rpc.EndPoint> endPointList
+}
+
+struct DataPartitionInfoResp {
+ // Map<StorageGroup, Map<DeviceGroupID, Map<TimePartitionId,
List<DataRegionReplicaInfo>>>>
+ 1: required map<string, map<i32, map<i64, list<RegionInfo>>>>
dataPartitionMap
+}
+
+struct SchemaPartitionInfoResp {
+ // Map<StorageGroup, Map<DeviceGroupID, SchemaRegionPlaceInfo>>
+ 1: required map<string, map<i32, RegionInfo>> schemaPartitionInfo
+}
+
+struct PartitionInfoResp {
+ // Map<StorageGroup, Map<DeviceGroupID, Map<TimePartitionId,
List<DataRegionReplicaInfo>>>>
+ 1: required map<string, map<i32, map<i64, list<RegionInfo>>>>
dataPartitionMap
+ // Map<StorageGroup, Map<DeviceGroupID, SchemaRegionPlaceInfo>>
+ 2: required map<string, map<i32, RegionInfo>> schemaPartitionInfo
+}
+
service ConfigIService {
// Return TSStatusCode.SUCCESS_STATUS and the register DataNode id when
successful registered.
// Otherwise, return TSStatusCode.INTERNAL_SERVER_ERROR
@@ -96,4 +130,10 @@ service ConfigIService {
DataPartitionInfo getDataPartition(GetDataPartitionReq req)
DeviceGroupHashInfo getDeviceGroupHashInfo()
+
+ DataPartitionInfoResp fetchDataPartitionInfo(FetchDataPartitionReq req)
+
+ SchemaPartitionInfoResp fetchSchemaPartitionInfo(FetchSchemaPartitionReq req)
+
+ PartitionInfoResp fetchPartitionInfo(FetchPartitionReq req)
}
\ No newline at end of file