You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by xi...@apache.org on 2022/08/22 03:47:41 UTC

[iotdb] branch master updated: remove `getSchemaPartition`, `getOrCreateSchemaPartition`, `getDataPartition` and `getOrCreateDataPartition`. (#7073)

This is an automated email from the ASF dual-hosted git repository.

xingtanzjr 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 6fdc768f8d remove `getSchemaPartition`, `getOrCreateSchemaPartition`, `getDataPartition` and `getOrCreateDataPartition`. (#7073)
6fdc768f8d is described below

commit 6fdc768f8ded93bbcb1f8e9f8ad81427a8652c3b
Author: ZhangHongYin <46...@users.noreply.github.com>
AuthorDate: Mon Aug 22 11:47:34 2022 +0800

    remove `getSchemaPartition`, `getOrCreateSchemaPartition`, `getDataPartition` and `getOrCreateDataPartition`. (#7073)
---
 .../consensus/response/DataPartitionResp.java      |  49 ----
 .../consensus/response/SchemaPartitionResp.java    |  32 ---
 .../iotdb/confignode/manager/ConfigManager.java    | 293 ++++++++-------------
 .../apache/iotdb/confignode/manager/IManager.java  |  20 +-
 .../thrift/ConfigNodeRPCServiceProcessor.java      |  41 +--
 .../apache/iotdb/db/client/ConfigNodeClient.java   |  67 -----
 .../src/main/thrift/confignode.thrift              |  26 --
 7 files changed, 123 insertions(+), 405 deletions(-)

diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/DataPartitionResp.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/DataPartitionResp.java
index a8adce7785..b370601527 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/DataPartitionResp.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/DataPartitionResp.java
@@ -20,19 +20,16 @@
 package org.apache.iotdb.confignode.consensus.response;
 
 import org.apache.iotdb.common.rpc.thrift.TConsensusGroupId;
-import org.apache.iotdb.common.rpc.thrift.TRegionReplicaSet;
 import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.common.rpc.thrift.TSeriesPartitionSlot;
 import org.apache.iotdb.common.rpc.thrift.TTimePartitionSlot;
 import org.apache.iotdb.commons.partition.DataPartitionTable;
-import org.apache.iotdb.confignode.rpc.thrift.TDataPartitionResp;
 import org.apache.iotdb.confignode.rpc.thrift.TDataPartitionTableResp;
 import org.apache.iotdb.consensus.common.DataSet;
 import org.apache.iotdb.rpc.TSStatusCode;
 
 import java.util.List;
 import java.util.Map;
-import java.util.Vector;
 import java.util.concurrent.ConcurrentHashMap;
 
 public class DataPartitionResp implements DataSet {
@@ -62,52 +59,6 @@ public class DataPartitionResp implements DataSet {
     return allPartitionsExist;
   }
 
-  public TDataPartitionResp convertToTDataPartitionResp(
-      Map<TConsensusGroupId, TRegionReplicaSet> replicaSetMap) {
-    TDataPartitionResp resp = new TDataPartitionResp();
-    resp.setStatus(status);
-
-    if (status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
-      Map<String, Map<TSeriesPartitionSlot, Map<TTimePartitionSlot, List<TRegionReplicaSet>>>>
-          dataPartitionMap = new ConcurrentHashMap<>();
-
-      dataPartition.forEach(
-          (storageGroup, dataPartitionTable) -> {
-            Map<TSeriesPartitionSlot, Map<TTimePartitionSlot, List<TRegionReplicaSet>>>
-                seriesPartitionSlotMap = new ConcurrentHashMap<>();
-
-            dataPartitionTable
-                .getDataPartitionMap()
-                .forEach(
-                    (seriesPartitionSlot, seriesPartitionTable) -> {
-                      Map<TTimePartitionSlot, List<TRegionReplicaSet>> timePartitionSlotMap =
-                          new ConcurrentHashMap<>();
-
-                      seriesPartitionTable
-                          .getSeriesPartitionMap()
-                          .forEach(
-                              (timePartitionSlot, consensusGroupIds) -> {
-                                List<TRegionReplicaSet> regionReplicaSets = new Vector<>();
-
-                                consensusGroupIds.forEach(
-                                    consensusGroupId ->
-                                        regionReplicaSets.add(replicaSetMap.get(consensusGroupId)));
-
-                                timePartitionSlotMap.put(timePartitionSlot, regionReplicaSets);
-                              });
-
-                      seriesPartitionSlotMap.put(seriesPartitionSlot, timePartitionSlotMap);
-                    });
-
-            dataPartitionMap.put(storageGroup, seriesPartitionSlotMap);
-          });
-
-      resp.setDataPartitionMap(dataPartitionMap);
-    }
-
-    return resp;
-  }
-
   public TDataPartitionTableResp convertToTDataPartitionTableResp() {
     TDataPartitionTableResp resp = new TDataPartitionTableResp();
     resp.setStatus(status);
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/SchemaPartitionResp.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/SchemaPartitionResp.java
index a0ca2ac713..91ee87ead0 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/SchemaPartitionResp.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/SchemaPartitionResp.java
@@ -20,11 +20,9 @@
 package org.apache.iotdb.confignode.consensus.response;
 
 import org.apache.iotdb.common.rpc.thrift.TConsensusGroupId;
-import org.apache.iotdb.common.rpc.thrift.TRegionReplicaSet;
 import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.common.rpc.thrift.TSeriesPartitionSlot;
 import org.apache.iotdb.commons.partition.SchemaPartitionTable;
-import org.apache.iotdb.confignode.rpc.thrift.TSchemaPartitionResp;
 import org.apache.iotdb.confignode.rpc.thrift.TSchemaPartitionTableResp;
 import org.apache.iotdb.consensus.common.DataSet;
 import org.apache.iotdb.rpc.TSStatusCode;
@@ -63,36 +61,6 @@ public class SchemaPartitionResp implements DataSet {
     return allPartitionsExist;
   }
 
-  public TSchemaPartitionResp convertToRpcSchemaPartitionResp(
-      Map<TConsensusGroupId, TRegionReplicaSet> replicaSetMap) {
-    TSchemaPartitionResp resp = new TSchemaPartitionResp();
-    resp.setStatus(status);
-
-    if (status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
-      Map<String, Map<TSeriesPartitionSlot, TRegionReplicaSet>> schemaPartitionMap =
-          new ConcurrentHashMap<>();
-
-      schemaPartition.forEach(
-          (storageGroup, schemaPartitionTable) -> {
-            Map<TSeriesPartitionSlot, TRegionReplicaSet> seriesPartitionSlotMap =
-                new ConcurrentHashMap<>();
-
-            schemaPartitionTable
-                .getSchemaPartitionMap()
-                .forEach(
-                    (seriesPartitionSlot, consensusGroupId) ->
-                        seriesPartitionSlotMap.put(
-                            seriesPartitionSlot, replicaSetMap.get(consensusGroupId)));
-
-            schemaPartitionMap.put(storageGroup, seriesPartitionSlotMap);
-          });
-
-      resp.setSchemaRegionMap(schemaPartitionMap);
-    }
-
-    return resp;
-  }
-
   public TSchemaPartitionTableResp convertToRpcSchemaPartitionTableResp() {
     TSchemaPartitionTableResp resp = new TSchemaPartitionTableResp();
     resp.setStatus(status);
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 cbd983b3c9..efe3463030 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
@@ -78,7 +78,6 @@ import org.apache.iotdb.confignode.persistence.schema.ClusterSchemaInfo;
 import org.apache.iotdb.confignode.rpc.thrift.TConfigNodeRegisterReq;
 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;
@@ -88,7 +87,6 @@ import org.apache.iotdb.confignode.rpc.thrift.TRegionInfo;
 import org.apache.iotdb.confignode.rpc.thrift.TRegionMigrateResultReportReq;
 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;
@@ -371,143 +369,105 @@ public class ConfigManager implements IManager {
   }
 
   @Override
-  public Object getSchemaPartition(PathPatternTree patternTree, boolean isContainedReplicaSet) {
-    // Construct empty response from parameter isContainedReplicaSet
-    Object resp;
-    if (isContainedReplicaSet) {
-      resp = new TSchemaPartitionResp();
-    } else {
-      resp = new TSchemaPartitionTableResp();
-    }
+  public TSchemaPartitionTableResp getSchemaPartition(PathPatternTree patternTree) {
+    // Construct empty response
+    TSchemaPartitionTableResp resp = new TSchemaPartitionTableResp();
 
     TSStatus status = confirmLeader();
-    if (status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
-      // Build GetSchemaPartitionPlan
-      Map<String, Set<TSeriesPartitionSlot>> partitionSlotsMap = new HashMap<>();
-      List<PartialPath> relatedPaths = patternTree.getAllPathPatterns();
-      List<String> allStorageGroups = getClusterSchemaManager().getStorageGroupNames();
-      Map<String, Boolean> scanAllRegions = new HashMap<>();
-      for (PartialPath path : relatedPaths) {
-        for (String storageGroup : allStorageGroups) {
-          try {
-            PartialPath storageGroupPath = new PartialPath(storageGroup);
-            if (path.overlapWith(storageGroupPath.concatNode(MULTI_LEVEL_PATH_WILDCARD))
-                && !scanAllRegions.containsKey(storageGroup)) {
-              List<TSeriesPartitionSlot> relatedSlot = calculateRelatedSlot(path, storageGroupPath);
-              if (relatedSlot.isEmpty()) {
-                scanAllRegions.put(storageGroup, true);
-                partitionSlotsMap.put(storageGroup, new HashSet<>());
-              } else {
-                partitionSlotsMap
-                    .computeIfAbsent(storageGroup, k -> new HashSet<>())
-                    .addAll(relatedSlot);
-              }
+    if (status.getCode() != TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
+      return resp.setStatus(status);
+    }
+
+    // Build GetSchemaPartitionPlan
+    Map<String, Set<TSeriesPartitionSlot>> partitionSlotsMap = new HashMap<>();
+    List<PartialPath> relatedPaths = patternTree.getAllPathPatterns();
+    List<String> allStorageGroups = getClusterSchemaManager().getStorageGroupNames();
+    Map<String, Boolean> scanAllRegions = new HashMap<>();
+    for (PartialPath path : relatedPaths) {
+      for (String storageGroup : allStorageGroups) {
+        try {
+          PartialPath storageGroupPath = new PartialPath(storageGroup);
+          if (path.overlapWith(storageGroupPath.concatNode(MULTI_LEVEL_PATH_WILDCARD))
+              && !scanAllRegions.containsKey(storageGroup)) {
+            List<TSeriesPartitionSlot> relatedSlot = calculateRelatedSlot(path, storageGroupPath);
+            if (relatedSlot.isEmpty()) {
+              scanAllRegions.put(storageGroup, true);
+              partitionSlotsMap.put(storageGroup, new HashSet<>());
+            } else {
+              partitionSlotsMap
+                  .computeIfAbsent(storageGroup, k -> new HashSet<>())
+                  .addAll(relatedSlot);
             }
-          } catch (IllegalPathException e) {
-            // this line won't be reached in general
-            throw new RuntimeException(e);
           }
+        } catch (IllegalPathException e) {
+          // this line won't be reached in general
+          throw new RuntimeException(e);
         }
       }
+    }
 
-      // Return empty resp if the partitionSlotsMap is empty
-      if (partitionSlotsMap.isEmpty()) {
-        if (isContainedReplicaSet) {
-          return ((TSchemaPartitionResp) resp)
-              .setStatus(StatusUtils.OK)
-              .setSchemaRegionMap(new HashMap<>());
-        } else {
-          return ((TSchemaPartitionTableResp) resp)
-              .setStatus(StatusUtils.OK)
-              .setSchemaPartitionTable(new HashMap<>());
-        }
-      }
+    // Return empty resp if the partitionSlotsMap is empty
+    if (partitionSlotsMap.isEmpty()) {
+      return resp.setStatus(StatusUtils.OK).setSchemaPartitionTable(new HashMap<>());
+    }
 
-      GetSchemaPartitionPlan getSchemaPartitionPlan =
-          new GetSchemaPartitionPlan(
-              partitionSlotsMap.entrySet().stream()
-                  .collect(
-                      Collectors.toMap(Map.Entry::getKey, e -> new ArrayList<>(e.getValue()))));
-      SchemaPartitionResp queryResult =
-          (SchemaPartitionResp) partitionManager.getSchemaPartition(getSchemaPartitionPlan);
-      if (isContainedReplicaSet) {
-        resp =
-            queryResult.convertToRpcSchemaPartitionResp(getLoadManager().genLatestRegionRouteMap());
-      } else {
-        resp = queryResult.convertToRpcSchemaPartitionTableResp();
-      }
+    GetSchemaPartitionPlan getSchemaPartitionPlan =
+        new GetSchemaPartitionPlan(
+            partitionSlotsMap.entrySet().stream()
+                .collect(Collectors.toMap(Map.Entry::getKey, e -> new ArrayList<>(e.getValue()))));
+    SchemaPartitionResp queryResult =
+        (SchemaPartitionResp) partitionManager.getSchemaPartition(getSchemaPartitionPlan);
+    resp = queryResult.convertToRpcSchemaPartitionTableResp();
 
-      // TODO: Delete or hide this LOGGER before officially release.
-      LOGGER.info("GetSchemaPartition receive paths: {}, return: {}", relatedPaths, resp);
+    // TODO: Delete or hide this LOGGER before officially release.
+    LOGGER.info("GetSchemaPartition receive paths: {}, return: {}", relatedPaths, resp);
 
-      return resp;
-    } else {
-      if (isContainedReplicaSet) {
-        return ((TSchemaPartitionResp) resp).setStatus(status);
-      } else {
-        return ((TSchemaPartitionTableResp) resp).setStatus(status);
-      }
-    }
+    return resp;
   }
 
   @Override
-  public Object getOrCreateSchemaPartition(
-      PathPatternTree patternTree, boolean isContainedReplicaSet) {
-    // Construct empty response from parameter isContainedReplicaSet
-    Object resp;
-    if (isContainedReplicaSet) {
-      resp = new TSchemaPartitionResp();
-    } else {
-      resp = new TSchemaPartitionTableResp();
-    }
+  public TSchemaPartitionTableResp getOrCreateSchemaPartition(PathPatternTree patternTree) {
+    // Construct empty response
+    TSchemaPartitionTableResp resp = new TSchemaPartitionTableResp();
 
     TSStatus status = confirmLeader();
-    if (status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
-      List<String> devicePaths = patternTree.getAllDevicePatterns();
-      List<String> storageGroups = getClusterSchemaManager().getStorageGroupNames();
-
-      // Build GetOrCreateSchemaPartitionPlan
-      Map<String, List<TSeriesPartitionSlot>> partitionSlotsMap = new HashMap<>();
-      for (String devicePath : devicePaths) {
-        if (!devicePath.contains("*")) {
-          // Only check devicePaths that without "*"
-          for (String storageGroup : storageGroups) {
-            if (PathUtils.isStartWith(devicePath, storageGroup)) {
-              partitionSlotsMap
-                  .computeIfAbsent(storageGroup, key -> new ArrayList<>())
-                  .add(getPartitionManager().getSeriesPartitionSlot(devicePath));
-              break;
-            }
+    if (status.getCode() != TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
+      return resp.setStatus(status);
+    }
+
+    List<String> devicePaths = patternTree.getAllDevicePatterns();
+    List<String> storageGroups = getClusterSchemaManager().getStorageGroupNames();
+
+    // Build GetOrCreateSchemaPartitionPlan
+    Map<String, List<TSeriesPartitionSlot>> partitionSlotsMap = new HashMap<>();
+    for (String devicePath : devicePaths) {
+      if (!devicePath.contains("*")) {
+        // Only check devicePaths that without "*"
+        for (String storageGroup : storageGroups) {
+          if (PathUtils.isStartWith(devicePath, storageGroup)) {
+            partitionSlotsMap
+                .computeIfAbsent(storageGroup, key -> new ArrayList<>())
+                .add(getPartitionManager().getSeriesPartitionSlot(devicePath));
+            break;
           }
         }
       }
-      GetOrCreateSchemaPartitionPlan getOrCreateSchemaPartitionPlan =
-          new GetOrCreateSchemaPartitionPlan(partitionSlotsMap);
-
-      SchemaPartitionResp queryResult =
-          (SchemaPartitionResp)
-              partitionManager.getOrCreateSchemaPartition(getOrCreateSchemaPartitionPlan);
-      if (isContainedReplicaSet) {
-        resp =
-            queryResult.convertToRpcSchemaPartitionResp(getLoadManager().genLatestRegionRouteMap());
-      } else {
-        resp = queryResult.convertToRpcSchemaPartitionTableResp();
-      }
+    }
+    GetOrCreateSchemaPartitionPlan getOrCreateSchemaPartitionPlan =
+        new GetOrCreateSchemaPartitionPlan(partitionSlotsMap);
 
-      // TODO: Delete or hide this LOGGER before officially release.
-      LOGGER.info(
-          "GetOrCreateSchemaPartition receive devicePaths: {}, return TSchemaPartitionResp: {}",
-          devicePaths,
-          resp);
+    SchemaPartitionResp queryResult =
+        (SchemaPartitionResp)
+            partitionManager.getOrCreateSchemaPartition(getOrCreateSchemaPartitionPlan);
+    resp = queryResult.convertToRpcSchemaPartitionTableResp();
 
-      return resp;
-    } else {
-      if (isContainedReplicaSet) {
-        return ((TSchemaPartitionResp) resp).setStatus(status);
-      } else {
-        return ((TSchemaPartitionTableResp) resp).setStatus(status);
-      }
-    }
+    // TODO: Delete or hide this LOGGER before officially release.
+    LOGGER.info(
+        "GetOrCreateSchemaPartition receive devicePaths: {}, return TSchemaPartitionResp: {}",
+        devicePaths,
+        resp);
+
+    return resp;
   }
 
   @Override
@@ -540,80 +500,51 @@ public class ConfigManager implements IManager {
   }
 
   @Override
-  public Object getDataPartition(
-      GetDataPartitionPlan getDataPartitionPlan, boolean isContainedReplicaSet) {
-    // Construct empty response from parameter isContainedReplicaSet
-    Object resp;
-    if (isContainedReplicaSet) {
-      resp = new TDataPartitionResp();
-    } else {
-      resp = new TDataPartitionTableResp();
-    }
+  public TDataPartitionTableResp getDataPartition(GetDataPartitionPlan getDataPartitionPlan) {
+    // Construct empty response
+    TDataPartitionTableResp resp = new TDataPartitionTableResp();
 
     TSStatus status = confirmLeader();
-    if (status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
-      DataPartitionResp queryResult =
-          (DataPartitionResp) partitionManager.getDataPartition(getDataPartitionPlan);
+    if (status.getCode() != TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
+      return resp.setStatus(status);
+    }
+    DataPartitionResp queryResult =
+        (DataPartitionResp) partitionManager.getDataPartition(getDataPartitionPlan);
 
-      if (isContainedReplicaSet) {
-        resp = queryResult.convertToTDataPartitionResp(getLoadManager().genLatestRegionRouteMap());
-      } else {
-        resp = queryResult.convertToTDataPartitionTableResp();
-      }
+    resp = queryResult.convertToTDataPartitionTableResp();
 
-      // TODO: Delete or hide this LOGGER before officially release.
-      LOGGER.info(
-          "GetDataPartition interface receive PartitionSlotsMap: {}, return: {}",
-          getDataPartitionPlan.getPartitionSlotsMap(),
-          resp);
+    // TODO: Delete or hide this LOGGER before officially release.
+    LOGGER.info(
+        "GetDataPartition interface receive PartitionSlotsMap: {}, return: {}",
+        getDataPartitionPlan.getPartitionSlotsMap(),
+        resp);
 
-      return resp;
-    } else {
-      if (isContainedReplicaSet) {
-        return ((TDataPartitionResp) resp).setStatus(status);
-      } else {
-        return ((TDataPartitionTableResp) resp).setStatus(status);
-      }
-    }
+    return resp;
   }
 
   @Override
-  public Object getOrCreateDataPartition(
-      GetOrCreateDataPartitionPlan getOrCreateDataPartitionReq, boolean isContainedReplicaSet) {
-    // Construct empty response from parameter isContainedReplicaSet
-    Object resp;
-    if (isContainedReplicaSet) {
-      resp = new TDataPartitionResp();
-    } else {
-      resp = new TDataPartitionTableResp();
-    }
+  public TDataPartitionTableResp getOrCreateDataPartition(
+      GetOrCreateDataPartitionPlan getOrCreateDataPartitionReq) {
+    // Construct empty response
+    TDataPartitionTableResp resp = new TDataPartitionTableResp();
 
     TSStatus status = confirmLeader();
-    if (status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
-      DataPartitionResp queryResult =
-          (DataPartitionResp)
-              partitionManager.getOrCreateDataPartition(getOrCreateDataPartitionReq);
-
-      if (isContainedReplicaSet) {
-        resp = queryResult.convertToTDataPartitionResp(getLoadManager().genLatestRegionRouteMap());
-      } else {
-        resp = queryResult.convertToTDataPartitionTableResp();
-      }
+    if (status.getCode() != TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
+      return resp.setStatus(status);
+    }
 
-      // TODO: Delete or hide this LOGGER before officially release.
-      LOGGER.info(
-          "GetOrCreateDataPartition success. receive PartitionSlotsMap: {}, return: {}",
-          getOrCreateDataPartitionReq.getPartitionSlotsMap(),
-          resp);
+    DataPartitionResp queryResult =
+        (DataPartitionResp) partitionManager.getOrCreateDataPartition(getOrCreateDataPartitionReq);
 
-      return resp;
-    } else {
-      if (isContainedReplicaSet) {
-        return ((TDataPartitionResp) resp).setStatus(status);
-      } else {
-        return ((TDataPartitionTableResp) resp).setStatus(status);
-      }
-    }
+    resp = queryResult.convertToTDataPartitionTableResp();
+
+    // TODO: Delete or hide this LOGGER before officially release.
+    LOGGER.info(
+        "GetOrCreateDataPartition success. receive PartitionSlotsMap: {}, return: {}",
+        getOrCreateDataPartitionReq.getPartitionSlotsMap(),
+        resp);
+
+    return resp;
   }
 
   private TSStatus confirmLeader() {
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 e63984b75d..fb06557c90 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
@@ -40,6 +40,7 @@ import org.apache.iotdb.confignode.consensus.request.write.SetTimePartitionInter
 import org.apache.iotdb.confignode.manager.load.LoadManager;
 import org.apache.iotdb.confignode.rpc.thrift.TConfigNodeRegisterReq;
 import org.apache.iotdb.confignode.rpc.thrift.TCreateSchemaTemplateReq;
+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;
@@ -47,6 +48,7 @@ import org.apache.iotdb.confignode.rpc.thrift.TPermissionInfoResp;
 import org.apache.iotdb.confignode.rpc.thrift.TRegionMigrateResultReportReq;
 import org.apache.iotdb.confignode.rpc.thrift.TRegionRouteMapResp;
 import org.apache.iotdb.confignode.rpc.thrift.TSchemaNodeManagementResp;
+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.TShowConfigNodesResp;
@@ -191,20 +193,16 @@ public interface IManager {
   /**
    * Get SchemaPartition
    *
-   * @param isContainedReplicaSet The last map level of result will contain TRegionReplicaSet if
-   *     true, otherwise the last level will be TConsensusGroupId
    * @return TSchemaPartitionResp
    */
-  Object getSchemaPartition(PathPatternTree patternTree, boolean isContainedReplicaSet);
+  TSchemaPartitionTableResp getSchemaPartition(PathPatternTree patternTree);
 
   /**
    * Get or create SchemaPartition
    *
-   * @param isContainedReplicaSet The last map level of result will contain TRegionReplicaSet if
-   *     true, otherwise the last level will be TConsensusGroupId
    * @return TSchemaPartitionResp
    */
-  Object getOrCreateSchemaPartition(PathPatternTree patternTree, boolean isContainedReplicaSet);
+  TSchemaPartitionTableResp getOrCreateSchemaPartition(PathPatternTree patternTree);
 
   /**
    * create SchemaNodeManagementPartition for child paths node management
@@ -216,21 +214,17 @@ public interface IManager {
   /**
    * Get DataPartition
    *
-   * @param isContainedReplicaSet The last map level of result will contain TRegionReplicaSet if
-   *     true, otherwise the last level will be TConsensusGroupId
    * @return TDataPartitionResp
    */
-  Object getDataPartition(GetDataPartitionPlan getDataPartitionPlan, boolean isContainedReplicaSet);
+  TDataPartitionTableResp getDataPartition(GetDataPartitionPlan getDataPartitionPlan);
 
   /**
    * Get or create DataPartition
    *
-   * @param isContainedReplicaSet The last map level of result will contain TRegionReplicaSet if
-   *     true, otherwise the last level will be TConsensusGroupId
    * @return TDataPartitionResp
    */
-  Object getOrCreateDataPartition(
-      GetOrCreateDataPartitionPlan getOrCreateDataPartitionPlan, boolean isContainedReplicaSet);
+  TDataPartitionTableResp getOrCreateDataPartition(
+      GetOrCreateDataPartitionPlan getOrCreateDataPartitionPlan);
 
   /**
    * Operate Permission
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 3bd01f2320..0ca020edb3 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
@@ -72,7 +72,6 @@ import org.apache.iotdb.confignode.rpc.thrift.TDataNodeRegisterResp;
 import org.apache.iotdb.confignode.rpc.thrift.TDataNodeRemoveReq;
 import org.apache.iotdb.confignode.rpc.thrift.TDataNodeRemoveResp;
 import org.apache.iotdb.confignode.rpc.thrift.TDataPartitionReq;
-import org.apache.iotdb.confignode.rpc.thrift.TDataPartitionResp;
 import org.apache.iotdb.confignode.rpc.thrift.TDataPartitionTableResp;
 import org.apache.iotdb.confignode.rpc.thrift.TDeleteStorageGroupReq;
 import org.apache.iotdb.confignode.rpc.thrift.TDeleteStorageGroupsReq;
@@ -87,7 +86,6 @@ import org.apache.iotdb.confignode.rpc.thrift.TRegionRouteMapResp;
 import org.apache.iotdb.confignode.rpc.thrift.TSchemaNodeManagementReq;
 import org.apache.iotdb.confignode.rpc.thrift.TSchemaNodeManagementResp;
 import org.apache.iotdb.confignode.rpc.thrift.TSchemaPartitionReq;
-import org.apache.iotdb.confignode.rpc.thrift.TSchemaPartitionResp;
 import org.apache.iotdb.confignode.rpc.thrift.TSchemaPartitionTableResp;
 import org.apache.iotdb.confignode.rpc.thrift.TSetDataReplicationFactorReq;
 import org.apache.iotdb.confignode.rpc.thrift.TSetSchemaReplicationFactorReq;
@@ -280,27 +278,12 @@ public class ConfigNodeRPCServiceProcessor implements IConfigNodeRPCService.Ifac
     return storageGroupSchemaResp.convertToRPCStorageGroupSchemaResp();
   }
 
-  @Override
-  public TSchemaPartitionResp getSchemaPartition(TSchemaPartitionReq req) throws TException {
-    PathPatternTree patternTree =
-        PathPatternTree.deserialize(ByteBuffer.wrap(req.getPathPatternTree()));
-    return (TSchemaPartitionResp) configManager.getSchemaPartition(patternTree, true);
-  }
-
   @Override
   public TSchemaPartitionTableResp getSchemaPartitionTable(TSchemaPartitionReq req)
       throws TException {
     PathPatternTree patternTree =
         PathPatternTree.deserialize(ByteBuffer.wrap(req.getPathPatternTree()));
-    return (TSchemaPartitionTableResp) configManager.getSchemaPartition(patternTree, false);
-  }
-
-  @Override
-  public TSchemaPartitionResp getOrCreateSchemaPartition(TSchemaPartitionReq req)
-      throws TException {
-    PathPatternTree patternTree =
-        PathPatternTree.deserialize(ByteBuffer.wrap(req.getPathPatternTree()));
-    return (TSchemaPartitionResp) configManager.getOrCreateSchemaPartition(patternTree, true);
+    return configManager.getSchemaPartition(patternTree);
   }
 
   @Override
@@ -308,7 +291,7 @@ public class ConfigNodeRPCServiceProcessor implements IConfigNodeRPCService.Ifac
       throws TException {
     PathPatternTree patternTree =
         PathPatternTree.deserialize(ByteBuffer.wrap(req.getPathPatternTree()));
-    return (TSchemaPartitionTableResp) configManager.getOrCreateSchemaPartition(patternTree, false);
+    return configManager.getOrCreateSchemaPartition(patternTree);
   }
 
   @Override
@@ -320,26 +303,11 @@ public class ConfigNodeRPCServiceProcessor implements IConfigNodeRPCService.Ifac
     return configManager.getNodePathsPartition(partialPath, req.getLevel());
   }
 
-  @Override
-  public TDataPartitionResp getDataPartition(TDataPartitionReq req) throws TException {
-    GetDataPartitionPlan getDataPartitionPlan =
-        GetDataPartitionPlan.convertFromRpcTDataPartitionReq(req);
-    return (TDataPartitionResp) configManager.getDataPartition(getDataPartitionPlan, true);
-  }
-
   @Override
   public TDataPartitionTableResp getDataPartitionTable(TDataPartitionReq req) throws TException {
     GetDataPartitionPlan getDataPartitionPlan =
         GetDataPartitionPlan.convertFromRpcTDataPartitionReq(req);
-    return (TDataPartitionTableResp) configManager.getDataPartition(getDataPartitionPlan, false);
-  }
-
-  @Override
-  public TDataPartitionResp getOrCreateDataPartition(TDataPartitionReq req) throws TException {
-    GetOrCreateDataPartitionPlan getOrCreateDataPartitionReq =
-        GetOrCreateDataPartitionPlan.convertFromRpcTDataPartitionReq(req);
-    return (TDataPartitionResp)
-        configManager.getOrCreateDataPartition(getOrCreateDataPartitionReq, true);
+    return configManager.getDataPartition(getDataPartitionPlan);
   }
 
   @Override
@@ -347,8 +315,7 @@ public class ConfigNodeRPCServiceProcessor implements IConfigNodeRPCService.Ifac
       throws TException {
     GetOrCreateDataPartitionPlan getOrCreateDataPartitionReq =
         GetOrCreateDataPartitionPlan.convertFromRpcTDataPartitionReq(req);
-    return (TDataPartitionTableResp)
-        configManager.getOrCreateDataPartition(getOrCreateDataPartitionReq, false);
+    return configManager.getOrCreateDataPartition(getOrCreateDataPartitionReq);
   }
 
   @Override
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 55522005f9..9dc039ff1c 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
@@ -47,7 +47,6 @@ import org.apache.iotdb.confignode.rpc.thrift.TDataNodeRegisterResp;
 import org.apache.iotdb.confignode.rpc.thrift.TDataNodeRemoveReq;
 import org.apache.iotdb.confignode.rpc.thrift.TDataNodeRemoveResp;
 import org.apache.iotdb.confignode.rpc.thrift.TDataPartitionReq;
-import org.apache.iotdb.confignode.rpc.thrift.TDataPartitionResp;
 import org.apache.iotdb.confignode.rpc.thrift.TDataPartitionTableResp;
 import org.apache.iotdb.confignode.rpc.thrift.TDeleteStorageGroupReq;
 import org.apache.iotdb.confignode.rpc.thrift.TDeleteStorageGroupsReq;
@@ -62,7 +61,6 @@ import org.apache.iotdb.confignode.rpc.thrift.TRegionRouteMapResp;
 import org.apache.iotdb.confignode.rpc.thrift.TSchemaNodeManagementReq;
 import org.apache.iotdb.confignode.rpc.thrift.TSchemaNodeManagementResp;
 import org.apache.iotdb.confignode.rpc.thrift.TSchemaPartitionReq;
-import org.apache.iotdb.confignode.rpc.thrift.TSchemaPartitionResp;
 import org.apache.iotdb.confignode.rpc.thrift.TSchemaPartitionTableResp;
 import org.apache.iotdb.confignode.rpc.thrift.TSetDataReplicationFactorReq;
 import org.apache.iotdb.confignode.rpc.thrift.TSetSchemaReplicationFactorReq;
@@ -490,22 +488,6 @@ public class ConfigNodeClient
     throw new TException(MSG_RECONNECTION_FAIL);
   }
 
-  @Override
-  public TSchemaPartitionResp getSchemaPartition(TSchemaPartitionReq req) throws TException {
-    for (int i = 0; i < RETRY_NUM; i++) {
-      try {
-        TSchemaPartitionResp resp = client.getSchemaPartition(req);
-        if (!updateConfigNodeLeader(resp.status)) {
-          return resp;
-        }
-      } catch (TException e) {
-        configLeader = null;
-      }
-      reconnect();
-    }
-    throw new TException(MSG_RECONNECTION_FAIL);
-  }
-
   @Override
   public TSchemaPartitionTableResp getSchemaPartitionTable(TSchemaPartitionReq req)
       throws TException {
@@ -523,23 +505,6 @@ public class ConfigNodeClient
     throw new TException(MSG_RECONNECTION_FAIL);
   }
 
-  @Override
-  public TSchemaPartitionResp getOrCreateSchemaPartition(TSchemaPartitionReq req)
-      throws TException {
-    for (int i = 0; i < RETRY_NUM; i++) {
-      try {
-        TSchemaPartitionResp resp = client.getOrCreateSchemaPartition(req);
-        if (!updateConfigNodeLeader(resp.status)) {
-          return resp;
-        }
-      } catch (TException e) {
-        configLeader = null;
-      }
-      reconnect();
-    }
-    throw new TException(MSG_RECONNECTION_FAIL);
-  }
-
   @Override
   public TSchemaPartitionTableResp getOrCreateSchemaPartitionTable(TSchemaPartitionReq req)
       throws TException {
@@ -574,22 +539,6 @@ public class ConfigNodeClient
     throw new TException(MSG_RECONNECTION_FAIL);
   }
 
-  @Override
-  public TDataPartitionResp getDataPartition(TDataPartitionReq req) throws TException {
-    for (int i = 0; i < RETRY_NUM; i++) {
-      try {
-        TDataPartitionResp resp = client.getDataPartition(req);
-        if (!updateConfigNodeLeader(resp.status)) {
-          return resp;
-        }
-      } catch (TException e) {
-        configLeader = null;
-      }
-      reconnect();
-    }
-    throw new TException(MSG_RECONNECTION_FAIL);
-  }
-
   @Override
   public TDataPartitionTableResp getDataPartitionTable(TDataPartitionReq req) throws TException {
     for (int i = 0; i < RETRY_NUM; i++) {
@@ -606,22 +555,6 @@ public class ConfigNodeClient
     throw new TException(MSG_RECONNECTION_FAIL);
   }
 
-  @Override
-  public TDataPartitionResp getOrCreateDataPartition(TDataPartitionReq req) throws TException {
-    for (int i = 0; i < RETRY_NUM; i++) {
-      try {
-        TDataPartitionResp resp = client.getOrCreateDataPartition(req);
-        if (!updateConfigNodeLeader(resp.status)) {
-          return resp;
-        }
-      } catch (TException e) {
-        configLeader = null;
-      }
-      reconnect();
-    }
-    throw new TException(MSG_RECONNECTION_FAIL);
-  }
-
   @Override
   public TDataPartitionTableResp getOrCreateDataPartitionTable(TDataPartitionReq req)
       throws TException {
diff --git a/thrift-confignode/src/main/thrift/confignode.thrift b/thrift-confignode/src/main/thrift/confignode.thrift
index f4656f3b56..ea42376ec4 100644
--- a/thrift-confignode/src/main/thrift/confignode.thrift
+++ b/thrift-confignode/src/main/thrift/confignode.thrift
@@ -121,13 +121,6 @@ struct TSchemaPartitionReq {
   1: required binary pathPatternTree
 }
 
-// TODO: Replace this by TSchemaPartitionTableResp
-struct TSchemaPartitionResp {
-  1: required common.TSStatus status
-  // map<StorageGroupName, map<TSeriesPartitionSlot, TRegionReplicaSet>>
-  2: optional map<string, map<common.TSeriesPartitionSlot, common.TRegionReplicaSet>> schemaRegionMap
-}
-
 struct TSchemaPartitionTableResp {
   1: required common.TSStatus status
   // map<StorageGroupName, map<TSeriesPartitionSlot, TConsensusGroupId>>
@@ -153,13 +146,6 @@ struct TDataPartitionReq {
   1: required map<string, map<common.TSeriesPartitionSlot, list<common.TTimePartitionSlot>>> partitionSlotsMap
 }
 
-// TODO: Replace this by TDataPartitionTableResp
-struct TDataPartitionResp {
-  1: required common.TSStatus status
-  // map<StorageGroupName, map<TSeriesPartitionSlot, map<TTimePartitionSlot, list<TRegionReplicaSet>>>>
-  2: optional map<string, map<common.TSeriesPartitionSlot, map<common.TTimePartitionSlot, list<common.TRegionReplicaSet>>>> dataPartitionMap
-}
-
 struct TDataPartitionTableResp {
   1: required common.TSStatus status
   // map<StorageGroupName, map<TSeriesPartitionSlot, map<TTimePartitionSlot, list<TConsensusGroupId>>>>
@@ -446,9 +432,6 @@ service IConfigNodeRPCService {
   // SchemaPartition
   // ======================================================
 
-  // TODO: Replace this by getSchemaPartitionTable
-  TSchemaPartitionResp getSchemaPartition(TSchemaPartitionReq req)
-
   /**
    * Get SchemaPartitionTable by specific PathPatternTree,
    * the returned SchemaPartitionTable will not contain the unallocated SeriesPartitionSlots
@@ -456,9 +439,6 @@ service IConfigNodeRPCService {
    */
   TSchemaPartitionTableResp getSchemaPartitionTable(TSchemaPartitionReq req)
 
-  // TODO: Replace this by getOrCreateSchemaPartitionTable
-  TSchemaPartitionResp getOrCreateSchemaPartition(TSchemaPartitionReq req)
-
   /**
    * Get or create SchemaPartitionTable by specific PathPatternTree,
    * the returned SchemaPartitionTable always contains all the SeriesPartitionSlots
@@ -480,18 +460,12 @@ service IConfigNodeRPCService {
   // DataPartition
   // ======================================================
 
-  // TODO: Replace this by getDataPartitionTable
-  TDataPartitionResp getDataPartition(TDataPartitionReq req)
-
   /**
    * Get DataPartitionTable by specific PartitionSlotsMap,
    * the returned DataPartitionTable will not contain the unallocated SeriesPartitionSlots and TimePartitionSlots
    */
   TDataPartitionTableResp getDataPartitionTable(TDataPartitionReq req)
 
-  // TODO: Replace this by getOrCreateDataPartitionTable
-  TDataPartitionResp getOrCreateDataPartition(TDataPartitionReq req)
-
   /**
    * Get or create DataPartitionTable by specific PartitionSlotsMap,
    * the returned SchemaPartitionTable always contains all the SeriesPartitionSlots and TimePartitionSlots