You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ca...@apache.org on 2022/10/19 02:07:15 UTC

[iotdb] branch master updated: Added changes and user docs to rpc sqls (#7633)

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

caogaofei 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 a639c09875 Added changes and user docs to rpc sqls (#7633)
a639c09875 is described below

commit a639c09875734ec1d3da65d385eabc845b77ae1f
Author: Caideyipi <87...@users.noreply.github.com>
AuthorDate: Wed Oct 19 10:07:09 2022 +0800

    Added changes and user docs to rpc sqls (#7633)
---
 .../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4   |   6 +-
 .../consensus/request/ConfigPhysicalPlan.java      |   6 +-
 .../consensus/request/ConfigPhysicalPlanType.java  |   2 +-
 .../{GetRoutingPlan.java => GetRegionIdPlan.java}  |  10 +--
 .../{GetRoutingResp.java => GetRegionIdResp.java}  |  10 +--
 .../iotdb/confignode/manager/ConfigManager.java    |  14 +--
 .../apache/iotdb/confignode/manager/IManager.java  |   6 +-
 .../iotdb/confignode/manager/load/LoadManager.java |   6 +-
 .../manager/load/balancer/RouteBalancer.java       |   6 +-
 .../manager/load/balancer/router/IRouter.java      |   2 +-
 .../load/balancer/router/LazyGreedyRouter.java     |   2 +-
 .../manager/load/balancer/router/LeaderRouter.java |   2 +-
 .../balancer/router/LoadScoreGreedyRouter.java     |   2 +-
 .../manager/partition/PartitionManager.java        |   8 +-
 .../persistence/executor/ConfigPlanExecutor.java   |   6 +-
 .../persistence/partition/PartitionInfo.java       |  12 +--
 .../partition/StorageGroupPartitionTable.java      |   6 +-
 .../thrift/ConfigNodeRPCServiceProcessor.java      |  16 ++--
 .../request/ConfigPhysicalPlanSerDeTest.java       |  15 ++--
 .../load/balancer/router/LazyGreedyRouterTest.java |   8 +-
 .../load/balancer/router/LeaderRouterTest.java     |   6 +-
 .../balancer/router/LoadScoreGreedyRouterTest.java |   2 +-
 docs/UserGuide/Cluster/Cluster-Concept.md          |  18 ++--
 docs/UserGuide/Cluster/Cluster-Setup.md            |  12 ++-
 .../Maintenance-Tools/Maintenance-Command.md       | 100 ++++++++++++++++++++-
 docs/zh/UserGuide/Cluster/Cluster-Setup.md         |  12 ++-
 .../Maintenance-Tools/Maintenance-Command.md       |  99 +++++++++++++++++++-
 .../confignode/it/IoTDBClusterPartitionIT.java     |  59 ++++++------
 .../commons/partition/DataPartitionTable.java      |   4 +-
 .../commons/partition/SchemaPartitionTable.java    |   2 +-
 .../commons/partition/SeriesPartitionTable.java    |   2 +-
 .../apache/iotdb/db/client/ConfigNodeClient.java   |  10 +--
 .../db/mpp/common/header/ColumnHeaderConstant.java |  14 +--
 .../db/mpp/common/header/DatasetHeaderFactory.java |   4 +-
 .../plan/execution/config/ConfigTaskVisitor.java   |   9 +-
 .../config/executor/ClusterConfigTaskExecutor.java |  30 +++----
 .../config/executor/IConfigTaskExecutor.java       |   4 +-
 .../executor/StandaloneConfigTaskExecutor.java     |   4 +-
 .../{GetRegionTask.java => GetRegionIdTask.java}   |  22 ++---
 .../iotdb/db/mpp/plan/parser/ASTVisitor.java       |  12 +--
 .../db/mpp/plan/statement/StatementVisitor.java    |   6 +-
 ...ionStatement.java => GetRegionIdStatement.java} |   6 +-
 .../src/main/thrift/confignode.thrift              |   6 +-
 43 files changed, 397 insertions(+), 191 deletions(-)

diff --git a/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4 b/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4
index 26be682263..13371dcdf3 100644
--- a/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4
+++ b/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4
@@ -47,7 +47,7 @@ ddlStatement
     | showSchemaTemplates | showNodesInSchemaTemplate
     | showPathsUsingSchemaTemplate | showPathsSetSchemaTemplate
     | countStorageGroup | countDevices | countTimeseries | countNodes
-    | getRegion | getTimeSlotList | getSeriesSlotList
+    | getRegionId | getTimeSlotList | getSeriesSlotList
     ;
 
 dmlStatement
@@ -226,8 +226,8 @@ dropSchemaTemplate
     : DROP SCHEMA? TEMPLATE templateName=identifier
     ;
 
-// Get Region
-getRegion
+// Get Region Id
+getRegionId
     : SHOW (DATA|SCHEMA) REGIONID OF path=prefixPath WHERE SERIESSLOTID operator_eq
         seriesSlot=INTEGER_LITERAL (OPERATOR_AND TIMESLOTID operator_eq timeSlot=INTEGER_LITERAL)?
     ;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/ConfigPhysicalPlan.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/ConfigPhysicalPlan.java
index 19587cdac5..3ee19d0d27 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/ConfigPhysicalPlan.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/ConfigPhysicalPlan.java
@@ -26,8 +26,8 @@ import org.apache.iotdb.confignode.consensus.request.read.GetDataPartitionPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetNodePathsPartitionPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetOrCreateDataPartitionPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetOrCreateSchemaPartitionPlan;
+import org.apache.iotdb.confignode.consensus.request.read.GetRegionIdPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetRegionInfoListPlan;
-import org.apache.iotdb.confignode.consensus.request.read.GetRoutingPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetSchemaPartitionPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetSeriesSlotListPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetStorageGroupPlan;
@@ -290,8 +290,8 @@ public abstract class ConfigPhysicalPlan implements IConsensusRequest {
         case ShowPipe:
           req = new ShowPipePlan();
           break;
-        case GetRouting:
-          req = new GetRoutingPlan();
+        case GetRegionId:
+          req = new GetRegionIdPlan();
           break;
         case GetTimeSlotList:
           req = new GetTimeSlotListPlan();
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/ConfigPhysicalPlanType.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/ConfigPhysicalPlanType.java
index 29da4384d9..813c052504 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/ConfigPhysicalPlanType.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/ConfigPhysicalPlanType.java
@@ -89,7 +89,7 @@ public enum ConfigPhysicalPlanType {
   GetTriggerTable,
   UpdateTriggerStateInTable,
   GetTriggerJar,
-  GetRouting,
+  GetRegionId,
   GetSeriesSlotList,
   GetTimeSlotList
 }
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetRoutingPlan.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetRegionIdPlan.java
similarity index 94%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetRoutingPlan.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetRegionIdPlan.java
index 05282e17aa..82ebe8a848 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetRoutingPlan.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetRegionIdPlan.java
@@ -32,7 +32,7 @@ import java.io.IOException;
 import java.nio.ByteBuffer;
 import java.util.Objects;
 
-public class GetRoutingPlan extends ConfigPhysicalPlan {
+public class GetRegionIdPlan extends ConfigPhysicalPlan {
 
   private String storageGroup;
 
@@ -42,11 +42,11 @@ public class GetRoutingPlan extends ConfigPhysicalPlan {
 
   private TTimePartitionSlot timeSlotId;
 
-  public GetRoutingPlan() {
-    super(ConfigPhysicalPlanType.GetRouting);
+  public GetRegionIdPlan() {
+    super(ConfigPhysicalPlanType.GetRegionId);
   }
 
-  public GetRoutingPlan(
+  public GetRegionIdPlan(
       String storageGroup,
       TConsensusGroupType partitionType,
       TSeriesPartitionSlot seriesSlotId,
@@ -95,7 +95,7 @@ public class GetRoutingPlan extends ConfigPhysicalPlan {
   public boolean equals(Object o) {
     if (this == o) return true;
     if (o == null || getClass() != o.getClass()) return false;
-    GetRoutingPlan that = (GetRoutingPlan) o;
+    GetRegionIdPlan that = (GetRegionIdPlan) o;
     return storageGroup.equals(that.storageGroup)
         && seriesSlotId.equals(that.seriesSlotId)
         && timeSlotId.equals(that.timeSlotId);
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/GetRoutingResp.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/GetRegionIdResp.java
similarity index 83%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/GetRoutingResp.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/GetRegionIdResp.java
index cf1819c816..7118482306 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/GetRoutingResp.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/GetRegionIdResp.java
@@ -21,19 +21,19 @@ package org.apache.iotdb.confignode.consensus.response;
 
 import org.apache.iotdb.common.rpc.thrift.TConsensusGroupId;
 import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.confignode.rpc.thrift.TGetRoutingResp;
+import org.apache.iotdb.confignode.rpc.thrift.TGetRegionIdResp;
 import org.apache.iotdb.consensus.common.DataSet;
 import org.apache.iotdb.rpc.TSStatusCode;
 
 import java.util.List;
 
-public class GetRoutingResp implements DataSet {
+public class GetRegionIdResp implements DataSet {
 
   private TSStatus status;
 
   private final List<TConsensusGroupId> dataRegionIdList;
 
-  public GetRoutingResp(TSStatus status, List<TConsensusGroupId> dataRegionIdList) {
+  public GetRegionIdResp(TSStatus status, List<TConsensusGroupId> dataRegionIdList) {
     this.status = status;
     this.dataRegionIdList = dataRegionIdList;
   }
@@ -46,8 +46,8 @@ public class GetRoutingResp implements DataSet {
     this.status = status;
   }
 
-  public TGetRoutingResp convertToRpcGetRoutingResp() {
-    TGetRoutingResp resp = new TGetRoutingResp();
+  public TGetRegionIdResp convertToRpcGetRegionIdResp() {
+    TGetRegionIdResp resp = new TGetRegionIdResp();
     resp.setStatus(status);
 
     if (status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
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 a398b6f64c..6718f618b7 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
@@ -45,8 +45,8 @@ import org.apache.iotdb.confignode.consensus.request.read.GetDataPartitionPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetNodePathsPartitionPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetOrCreateDataPartitionPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetOrCreateSchemaPartitionPlan;
+import org.apache.iotdb.confignode.consensus.request.read.GetRegionIdPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetRegionInfoListPlan;
-import org.apache.iotdb.confignode.consensus.request.read.GetRoutingPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetSchemaPartitionPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetSeriesSlotListPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetStorageGroupPlan;
@@ -96,7 +96,7 @@ import org.apache.iotdb.confignode.rpc.thrift.TGetAllTemplatesResp;
 import org.apache.iotdb.confignode.rpc.thrift.TGetPathsSetTemplatesResp;
 import org.apache.iotdb.confignode.rpc.thrift.TGetPipeSinkReq;
 import org.apache.iotdb.confignode.rpc.thrift.TGetPipeSinkResp;
-import org.apache.iotdb.confignode.rpc.thrift.TGetRoutingResp;
+import org.apache.iotdb.confignode.rpc.thrift.TGetRegionIdResp;
 import org.apache.iotdb.confignode.rpc.thrift.TGetSeriesSlotListResp;
 import org.apache.iotdb.confignode.rpc.thrift.TGetTemplateResp;
 import org.apache.iotdb.confignode.rpc.thrift.TGetTimeSlotListResp;
@@ -525,7 +525,7 @@ public class ConfigManager implements IManager {
           partitionManager.getNodePathsPartition(getNodePathsPartitionPlan);
       TSchemaNodeManagementResp result =
           resp.convertToRpcSchemaNodeManagementPartitionResp(
-              getLoadManager().genLatestRegionRouteMap());
+              getLoadManager().getLatestRegionRouteMap());
 
       // TODO: Delete or hide this LOGGER before officially release.
       LOGGER.info(
@@ -860,7 +860,7 @@ public class ConfigManager implements IManager {
 
     if (status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
       resp.setTimestamp(System.currentTimeMillis());
-      resp.setRegionRouteMap(getLoadManager().genLatestRegionRouteMap());
+      resp.setRegionRouteMap(getLoadManager().getLatestRegionRouteMap());
     }
 
     return resp;
@@ -1090,11 +1090,11 @@ public class ConfigManager implements IManager {
   }
 
   @Override
-  public TGetRoutingResp getRouting(GetRoutingPlan plan) {
+  public TGetRegionIdResp getRegionId(GetRegionIdPlan plan) {
     TSStatus status = confirmLeader();
     return status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()
-        ? partitionManager.getRouting(plan).convertToRpcGetRoutingResp()
-        : new TGetRoutingResp(status);
+        ? partitionManager.getRegionId(plan).convertToRpcGetRegionIdResp()
+        : new TGetRegionIdResp(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 6330eabdeb..e8b076ccf9 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
@@ -29,8 +29,8 @@ import org.apache.iotdb.confignode.consensus.request.read.CountStorageGroupPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetDataNodeConfigurationPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetDataPartitionPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetOrCreateDataPartitionPlan;
+import org.apache.iotdb.confignode.consensus.request.read.GetRegionIdPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetRegionInfoListPlan;
-import org.apache.iotdb.confignode.consensus.request.read.GetRoutingPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetSeriesSlotListPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetStorageGroupPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetTimeSlotListPlan;
@@ -58,7 +58,7 @@ import org.apache.iotdb.confignode.rpc.thrift.TGetAllTemplatesResp;
 import org.apache.iotdb.confignode.rpc.thrift.TGetPathsSetTemplatesResp;
 import org.apache.iotdb.confignode.rpc.thrift.TGetPipeSinkReq;
 import org.apache.iotdb.confignode.rpc.thrift.TGetPipeSinkResp;
-import org.apache.iotdb.confignode.rpc.thrift.TGetRoutingResp;
+import org.apache.iotdb.confignode.rpc.thrift.TGetRegionIdResp;
 import org.apache.iotdb.confignode.rpc.thrift.TGetSeriesSlotListResp;
 import org.apache.iotdb.confignode.rpc.thrift.TGetTemplateResp;
 import org.apache.iotdb.confignode.rpc.thrift.TGetTimeSlotListResp;
@@ -463,7 +463,7 @@ public interface IManager {
    */
   TShowPipeResp showPipe(TShowPipeReq req);
 
-  TGetRoutingResp getRouting(GetRoutingPlan plan);
+  TGetRegionIdResp getRegionId(GetRegionIdPlan plan);
 
   TGetTimeSlotListResp getTimeSlotList(GetTimeSlotListPlan plan);
 
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/LoadManager.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/LoadManager.java
index 902c77be99..b992995ccb 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/LoadManager.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/LoadManager.java
@@ -146,9 +146,9 @@ public class LoadManager {
    *     for each Region is based on the order in the TRegionReplicaSet. The replica with higher
    *     sorting result have higher priority.
    */
-  public Map<TConsensusGroupId, TRegionReplicaSet> genLatestRegionRouteMap() {
+  public Map<TConsensusGroupId, TRegionReplicaSet> getLatestRegionRouteMap() {
     // Always take the latest locations of RegionGroups as the input parameter
-    return routeBalancer.genLatestRegionRouteMap(getPartitionManager().getAllReplicaSets());
+    return routeBalancer.getLatestRegionRouteMap(getPartitionManager().getAllReplicaSets());
   }
 
   /** Start the load balancing service */
@@ -238,7 +238,7 @@ public class LoadManager {
   }
 
   public void broadcastLatestRegionRouteMap() {
-    Map<TConsensusGroupId, TRegionReplicaSet> latestRegionRouteMap = genLatestRegionRouteMap();
+    Map<TConsensusGroupId, TRegionReplicaSet> latestRegionRouteMap = getLatestRegionRouteMap();
     Map<Integer, TDataNodeLocation> dataNodeLocationMap = new ConcurrentHashMap<>();
     getNodeManager()
         .filterDataNodeThroughStatus(NodeStatus.Running)
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/RouteBalancer.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/RouteBalancer.java
index acde0e13c4..c14b9e4b2c 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/RouteBalancer.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/RouteBalancer.java
@@ -54,7 +54,7 @@ public class RouteBalancer {
     this.lazyGreedyRouter = new LazyGreedyRouter();
   }
 
-  public Map<TConsensusGroupId, TRegionReplicaSet> genLatestRegionRouteMap(
+  public Map<TConsensusGroupId, TRegionReplicaSet> getLatestRegionRouteMap(
       List<TRegionReplicaSet> regionReplicaSets) {
     List<TRegionReplicaSet> schemaRegionGroups = new ArrayList<>();
     List<TRegionReplicaSet> dataRegionGroups = new ArrayList<>();
@@ -73,10 +73,10 @@ public class RouteBalancer {
 
     // Generate SchemaRegionRouteMap
     Map<TConsensusGroupId, TRegionReplicaSet> result =
-        genRouter(TConsensusGroupType.SchemaRegion).genLatestRegionRouteMap(schemaRegionGroups);
+        genRouter(TConsensusGroupType.SchemaRegion).getLatestRegionRouteMap(schemaRegionGroups);
     // Generate DataRegionRouteMap
     result.putAll(
-        genRouter(TConsensusGroupType.DataRegion).genLatestRegionRouteMap(dataRegionGroups));
+        genRouter(TConsensusGroupType.DataRegion).getLatestRegionRouteMap(dataRegionGroups));
     return result;
   }
 
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/router/IRouter.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/router/IRouter.java
index 9eea49a911..2ff8500aaa 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/router/IRouter.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/router/IRouter.java
@@ -38,6 +38,6 @@ public interface IRouter {
    *     for each Region is based on the order in the TRegionReplicaSet. The replica with higher
    *     sorting result have higher priority.
    */
-  Map<TConsensusGroupId, TRegionReplicaSet> genLatestRegionRouteMap(
+  Map<TConsensusGroupId, TRegionReplicaSet> getLatestRegionRouteMap(
       List<TRegionReplicaSet> replicaSets);
 }
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/router/LazyGreedyRouter.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/router/LazyGreedyRouter.java
index 942d3fdea9..4c4e12fcc5 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/router/LazyGreedyRouter.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/router/LazyGreedyRouter.java
@@ -66,7 +66,7 @@ public class LazyGreedyRouter implements IRouter {
   }
 
   @Override
-  public Map<TConsensusGroupId, TRegionReplicaSet> genLatestRegionRouteMap(
+  public Map<TConsensusGroupId, TRegionReplicaSet> getLatestRegionRouteMap(
       List<TRegionReplicaSet> replicaSets) {
     synchronized (disabledDataNodes) {
       // Map<DataNodeId, leaderCount> Count the number of leaders in each DataNodes
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/router/LeaderRouter.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/router/LeaderRouter.java
index f0354cc983..cdc12b9154 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/router/LeaderRouter.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/router/LeaderRouter.java
@@ -43,7 +43,7 @@ public class LeaderRouter implements IRouter {
   }
 
   @Override
-  public Map<TConsensusGroupId, TRegionReplicaSet> genLatestRegionRouteMap(
+  public Map<TConsensusGroupId, TRegionReplicaSet> getLatestRegionRouteMap(
       List<TRegionReplicaSet> replicaSets) {
     Map<TConsensusGroupId, TRegionReplicaSet> result = new ConcurrentHashMap<>();
 
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/router/LoadScoreGreedyRouter.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/router/LoadScoreGreedyRouter.java
index 04c3754113..43e171acc8 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/router/LoadScoreGreedyRouter.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/router/LoadScoreGreedyRouter.java
@@ -41,7 +41,7 @@ public class LoadScoreGreedyRouter implements IRouter {
   }
 
   @Override
-  public Map<TConsensusGroupId, TRegionReplicaSet> genLatestRegionRouteMap(
+  public Map<TConsensusGroupId, TRegionReplicaSet> getLatestRegionRouteMap(
       List<TRegionReplicaSet> replicaSets) {
     Map<TConsensusGroupId, TRegionReplicaSet> result = new ConcurrentHashMap<>();
 
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/partition/PartitionManager.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/partition/PartitionManager.java
index 29d4098917..ec205f8c5a 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/partition/PartitionManager.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/partition/PartitionManager.java
@@ -40,8 +40,8 @@ import org.apache.iotdb.confignode.consensus.request.read.GetDataPartitionPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetNodePathsPartitionPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetOrCreateDataPartitionPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetOrCreateSchemaPartitionPlan;
+import org.apache.iotdb.confignode.consensus.request.read.GetRegionIdPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetRegionInfoListPlan;
-import org.apache.iotdb.confignode.consensus.request.read.GetRoutingPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetSchemaPartitionPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetSeriesSlotListPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetTimeSlotListPlan;
@@ -52,7 +52,7 @@ import org.apache.iotdb.confignode.consensus.request.write.region.CreateRegionGr
 import org.apache.iotdb.confignode.consensus.request.write.region.PollRegionMaintainTaskPlan;
 import org.apache.iotdb.confignode.consensus.request.write.storagegroup.PreDeleteStorageGroupPlan;
 import org.apache.iotdb.confignode.consensus.response.DataPartitionResp;
-import org.apache.iotdb.confignode.consensus.response.GetRoutingResp;
+import org.apache.iotdb.confignode.consensus.response.GetRegionIdResp;
 import org.apache.iotdb.confignode.consensus.response.GetSeriesSlotListResp;
 import org.apache.iotdb.confignode.consensus.response.GetTimeSlotListResp;
 import org.apache.iotdb.confignode.consensus.response.RegionInfoListResp;
@@ -593,8 +593,8 @@ public class PartitionManager {
     return getConsensusManager().write(req).getStatus();
   }
 
-  public GetRoutingResp getRouting(GetRoutingPlan plan) {
-    return (GetRoutingResp) getConsensusManager().read(plan).getDataset();
+  public GetRegionIdResp getRegionId(GetRegionIdPlan plan) {
+    return (GetRegionIdResp) getConsensusManager().read(plan).getDataset();
   }
 
   public GetTimeSlotListResp getTimeSlotList(GetTimeSlotListPlan plan) {
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/executor/ConfigPlanExecutor.java b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/executor/ConfigPlanExecutor.java
index efaa2d1658..2d48810a83 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/executor/ConfigPlanExecutor.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/executor/ConfigPlanExecutor.java
@@ -29,8 +29,8 @@ import org.apache.iotdb.confignode.consensus.request.read.CountStorageGroupPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetDataNodeConfigurationPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetDataPartitionPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetNodePathsPartitionPlan;
+import org.apache.iotdb.confignode.consensus.request.read.GetRegionIdPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetRegionInfoListPlan;
-import org.apache.iotdb.confignode.consensus.request.read.GetRoutingPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetSchemaPartitionPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetSeriesSlotListPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetStorageGroupPlan;
@@ -183,8 +183,8 @@ public class ConfigPlanExecutor {
         return triggerInfo.getTriggerTable();
       case GetTriggerJar:
         return triggerInfo.getTriggerJar((GetTriggerJarPlan) req);
-      case GetRouting:
-        return partitionInfo.getRouting((GetRoutingPlan) req);
+      case GetRegionId:
+        return partitionInfo.getRegionId((GetRegionIdPlan) req);
       case GetTimeSlotList:
         return partitionInfo.getTimeSlotList((GetTimeSlotListPlan) req);
       case GetSeriesSlotList:
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 1a5e9cd794..a26565492a 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
@@ -30,8 +30,8 @@ import org.apache.iotdb.commons.partition.DataPartitionTable;
 import org.apache.iotdb.commons.partition.SchemaPartitionTable;
 import org.apache.iotdb.commons.snapshot.SnapshotProcessor;
 import org.apache.iotdb.confignode.consensus.request.read.GetDataPartitionPlan;
+import org.apache.iotdb.confignode.consensus.request.read.GetRegionIdPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetRegionInfoListPlan;
-import org.apache.iotdb.confignode.consensus.request.read.GetRoutingPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetSchemaPartitionPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetSeriesSlotListPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetTimeSlotListPlan;
@@ -44,7 +44,7 @@ import org.apache.iotdb.confignode.consensus.request.write.storagegroup.DeleteSt
 import org.apache.iotdb.confignode.consensus.request.write.storagegroup.PreDeleteStorageGroupPlan;
 import org.apache.iotdb.confignode.consensus.request.write.storagegroup.SetStorageGroupPlan;
 import org.apache.iotdb.confignode.consensus.response.DataPartitionResp;
-import org.apache.iotdb.confignode.consensus.response.GetRoutingResp;
+import org.apache.iotdb.confignode.consensus.response.GetRegionIdResp;
 import org.apache.iotdb.confignode.consensus.response.GetSeriesSlotListResp;
 import org.apache.iotdb.confignode.consensus.response.GetTimeSlotListResp;
 import org.apache.iotdb.confignode.consensus.response.RegionInfoListResp;
@@ -776,16 +776,16 @@ public class PartitionInfo implements SnapshotProcessor {
     }
   }
 
-  public DataSet getRouting(GetRoutingPlan plan) {
+  public DataSet getRegionId(GetRegionIdPlan plan) {
     if (!isStorageGroupExisted(plan.getStorageGroup())) {
-      return new GetRoutingResp(
+      return new GetRegionIdResp(
           new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode()), new ArrayList<>());
     }
     StorageGroupPartitionTable sgPartitionTable =
         storageGroupPartitionTables.get(plan.getStorageGroup());
-    return new GetRoutingResp(
+    return new GetRegionIdResp(
         new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode()),
-        sgPartitionTable.getRouting(
+        sgPartitionTable.getRegionId(
             plan.getPartitionType(), plan.getSeriesSlotId(), plan.getTimeSlotId()));
   }
 
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 c49450b159..14056b059c 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
@@ -368,12 +368,12 @@ public class StorageGroupPartitionTable {
     dataPartitionTable.deserialize(inputStream, protocol);
   }
 
-  public List<TConsensusGroupId> getRouting(
+  public List<TConsensusGroupId> getRegionId(
       TConsensusGroupType type, TSeriesPartitionSlot seriesSlotId, TTimePartitionSlot timeSlotId) {
     if (type == TConsensusGroupType.DataRegion) {
-      return dataPartitionTable.getRouting(seriesSlotId, timeSlotId);
+      return dataPartitionTable.getRegionId(seriesSlotId, timeSlotId);
     } else if (type == TConsensusGroupType.SchemaRegion) {
-      return schemaPartitionTable.getRouting(seriesSlotId);
+      return schemaPartitionTable.getRegionId(seriesSlotId);
     } else {
       return new ArrayList<>();
     }
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 ee060dc306..f00592ac8d 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
@@ -40,8 +40,8 @@ import org.apache.iotdb.confignode.consensus.request.read.CountStorageGroupPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetDataNodeConfigurationPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetDataPartitionPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetOrCreateDataPartitionPlan;
+import org.apache.iotdb.confignode.consensus.request.read.GetRegionIdPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetRegionInfoListPlan;
-import org.apache.iotdb.confignode.consensus.request.read.GetRoutingPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetSeriesSlotListPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetStorageGroupPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetTimeSlotListPlan;
@@ -93,8 +93,8 @@ import org.apache.iotdb.confignode.rpc.thrift.TGetAllTemplatesResp;
 import org.apache.iotdb.confignode.rpc.thrift.TGetPathsSetTemplatesResp;
 import org.apache.iotdb.confignode.rpc.thrift.TGetPipeSinkReq;
 import org.apache.iotdb.confignode.rpc.thrift.TGetPipeSinkResp;
-import org.apache.iotdb.confignode.rpc.thrift.TGetRoutingReq;
-import org.apache.iotdb.confignode.rpc.thrift.TGetRoutingResp;
+import org.apache.iotdb.confignode.rpc.thrift.TGetRegionIdReq;
+import org.apache.iotdb.confignode.rpc.thrift.TGetRegionIdResp;
 import org.apache.iotdb.confignode.rpc.thrift.TGetSeriesSlotListReq;
 import org.apache.iotdb.confignode.rpc.thrift.TGetSeriesSlotListResp;
 import org.apache.iotdb.confignode.rpc.thrift.TGetTemplateResp;
@@ -660,16 +660,16 @@ public class ConfigNodeRPCServiceProcessor implements IConfigNodeRPCService.Ifac
   }
 
   @Override
-  public TGetRoutingResp getRouting(TGetRoutingReq req) {
+  public TGetRegionIdResp getRegionId(TGetRegionIdReq req) {
     if (req.isSetTimeSlotId() && req.getType() != TConsensusGroupType.DataRegion) {
-      return new TGetRoutingResp(new TSStatus(TSStatusCode.ILLEGAL_PARAMETER.getStatusCode()));
+      return new TGetRegionIdResp(new TSStatus(TSStatusCode.ILLEGAL_PARAMETER.getStatusCode()));
     }
     TTimePartitionSlot timePartitionSlot =
         req.isSetTimeSlotId() ? req.getTimeSlotId() : new TTimePartitionSlot(-1);
-    GetRoutingPlan plan =
-        new GetRoutingPlan(
+    GetRegionIdPlan plan =
+        new GetRegionIdPlan(
             req.getStorageGroup(), req.getType(), req.getSeriesSlotId(), timePartitionSlot);
-    return configManager.getRouting(plan);
+    return configManager.getRegionId(plan);
   }
 
   @Override
diff --git a/confignode/src/test/java/org/apache/iotdb/confignode/consensus/request/ConfigPhysicalPlanSerDeTest.java b/confignode/src/test/java/org/apache/iotdb/confignode/consensus/request/ConfigPhysicalPlanSerDeTest.java
index ed8f2a26c8..8e5aaff06d 100644
--- a/confignode/src/test/java/org/apache/iotdb/confignode/consensus/request/ConfigPhysicalPlanSerDeTest.java
+++ b/confignode/src/test/java/org/apache/iotdb/confignode/consensus/request/ConfigPhysicalPlanSerDeTest.java
@@ -46,8 +46,8 @@ import org.apache.iotdb.confignode.consensus.request.read.GetDataPartitionPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetNodePathsPartitionPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetOrCreateDataPartitionPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetOrCreateSchemaPartitionPlan;
+import org.apache.iotdb.confignode.consensus.request.read.GetRegionIdPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetRegionInfoListPlan;
-import org.apache.iotdb.confignode.consensus.request.read.GetRoutingPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetSchemaPartitionPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetSeriesSlotListPlan;
 import org.apache.iotdb.confignode.consensus.request.read.GetStorageGroupPlan;
@@ -1015,13 +1015,14 @@ public class ConfigPhysicalPlanSerDeTest {
   }
 
   @Test
-  public void GetRoutingPlanTest() throws IOException {
-    GetRoutingPlan getRoutingPlan0 =
-        new GetRoutingPlan(
+  public void GetRegionIdPlanTest() throws IOException {
+    GetRegionIdPlan getRegionIdPlan0 =
+        new GetRegionIdPlan(
             "root.test", PartitionRegion, new TSeriesPartitionSlot(1), new TTimePartitionSlot(0));
-    GetRoutingPlan getRoutingPlan1 =
-        (GetRoutingPlan) ConfigPhysicalPlan.Factory.create(getRoutingPlan0.serializeToByteBuffer());
-    Assert.assertEquals(getRoutingPlan0, getRoutingPlan1);
+    GetRegionIdPlan getRegionIdPlan1 =
+        (GetRegionIdPlan)
+            ConfigPhysicalPlan.Factory.create(getRegionIdPlan0.serializeToByteBuffer());
+    Assert.assertEquals(getRegionIdPlan0, getRegionIdPlan1);
   }
 
   @Test
diff --git a/confignode/src/test/java/org/apache/iotdb/confignode/manager/load/balancer/router/LazyGreedyRouterTest.java b/confignode/src/test/java/org/apache/iotdb/confignode/manager/load/balancer/router/LazyGreedyRouterTest.java
index 533e7e3870..9cdc6dffb2 100644
--- a/confignode/src/test/java/org/apache/iotdb/confignode/manager/load/balancer/router/LazyGreedyRouterTest.java
+++ b/confignode/src/test/java/org/apache/iotdb/confignode/manager/load/balancer/router/LazyGreedyRouterTest.java
@@ -52,7 +52,7 @@ public class LazyGreedyRouterTest {
 
     /* Test1: The number of leaders in each DataNode should be approximately 4 */
     Map<TConsensusGroupId, TRegionReplicaSet> routeMap =
-        lazyGreedyRouter.genLatestRegionRouteMap(regionReplicaSetList);
+        lazyGreedyRouter.getLatestRegionRouteMap(regionReplicaSetList);
     Map<Integer, AtomicInteger> leaderCounter = new HashMap<>();
     routeMap
         .values()
@@ -77,7 +77,7 @@ public class LazyGreedyRouterTest {
     /* Test2: The number of leaders in DataNode-1 and DataNode-3 should be approximately 6 */
     lazyGreedyRouter.updateDisabledDataNodes(dataNodeConfigurations);
     leaderCounter.clear();
-    routeMap = lazyGreedyRouter.genLatestRegionRouteMap(regionReplicaSetList);
+    routeMap = lazyGreedyRouter.getLatestRegionRouteMap(regionReplicaSetList);
     routeMap
         .values()
         .forEach(
@@ -122,7 +122,7 @@ public class LazyGreedyRouterTest {
 
     /* Test1: The number of leaders in each DataNode should be approximately 6 */
     Map<TConsensusGroupId, TRegionReplicaSet> routeMap =
-        lazyGreedyRouter.genLatestRegionRouteMap(regionReplicaSetList);
+        lazyGreedyRouter.getLatestRegionRouteMap(regionReplicaSetList);
     Map<Integer, AtomicInteger> leaderCounter = new HashMap<>();
     routeMap
         .values()
@@ -147,7 +147,7 @@ public class LazyGreedyRouterTest {
     /* Test2: The number of leaders in DataNode-1 and DataNode-3 should be exactly 9 */
     lazyGreedyRouter.updateDisabledDataNodes(dataNodeConfigurations);
     leaderCounter.clear();
-    routeMap = lazyGreedyRouter.genLatestRegionRouteMap(regionReplicaSetList);
+    routeMap = lazyGreedyRouter.getLatestRegionRouteMap(regionReplicaSetList);
     routeMap
         .values()
         .forEach(
diff --git a/confignode/src/test/java/org/apache/iotdb/confignode/manager/load/balancer/router/LeaderRouterTest.java b/confignode/src/test/java/org/apache/iotdb/confignode/manager/load/balancer/router/LeaderRouterTest.java
index ef040a18ae..7a3fd2e8f3 100644
--- a/confignode/src/test/java/org/apache/iotdb/confignode/manager/load/balancer/router/LeaderRouterTest.java
+++ b/confignode/src/test/java/org/apache/iotdb/confignode/manager/load/balancer/router/LeaderRouterTest.java
@@ -131,7 +131,7 @@ public class LeaderRouterTest {
 
     // Check result
     Map<TConsensusGroupId, TRegionReplicaSet> result =
-        new LeaderRouter(leaderMap, loadScoreMap).genLatestRegionRouteMap(regionReplicaSets);
+        new LeaderRouter(leaderMap, loadScoreMap).getLatestRegionRouteMap(regionReplicaSets);
     TRegionReplicaSet result1 = result.get(groupId1);
     // Leader first
     Assert.assertEquals(dataNodeLocations.get(1), result1.getDataNodeLocations().get(0));
@@ -180,7 +180,7 @@ public class LeaderRouterTest {
               leaderMap.put(groupId, regionGroupCache.getLeaderDataNodeId()));
 
       // Check result
-      result = new LeaderRouter(leaderMap, loadScoreMap).genLatestRegionRouteMap(regionReplicaSets);
+      result = new LeaderRouter(leaderMap, loadScoreMap).getLatestRegionRouteMap(regionReplicaSets);
       result1 = result.get(groupId1);
       // Leader first
       Assert.assertEquals(dataNodeLocations.get(2), result1.getDataNodeLocations().get(0));
@@ -223,7 +223,7 @@ public class LeaderRouterTest {
             leaderMap.put(groupId, regionGroupCache.getLeaderDataNodeId()));
 
     // Check result
-    result = new LeaderRouter(leaderMap, loadScoreMap).genLatestRegionRouteMap(regionReplicaSets);
+    result = new LeaderRouter(leaderMap, loadScoreMap).getLatestRegionRouteMap(regionReplicaSets);
     result1 = result.get(groupId1);
     // Leader first
     Assert.assertEquals(dataNodeLocations.get(1), result1.getDataNodeLocations().get(0));
diff --git a/confignode/src/test/java/org/apache/iotdb/confignode/manager/load/balancer/router/LoadScoreGreedyRouterTest.java b/confignode/src/test/java/org/apache/iotdb/confignode/manager/load/balancer/router/LoadScoreGreedyRouterTest.java
index ba795416a1..6ced6ce1c3 100644
--- a/confignode/src/test/java/org/apache/iotdb/confignode/manager/load/balancer/router/LoadScoreGreedyRouterTest.java
+++ b/confignode/src/test/java/org/apache/iotdb/confignode/manager/load/balancer/router/LoadScoreGreedyRouterTest.java
@@ -94,7 +94,7 @@ public class LoadScoreGreedyRouterTest {
     /* Check result */
     Map<TConsensusGroupId, TRegionReplicaSet> result =
         new LoadScoreGreedyRouter(loadScoreMap)
-            .genLatestRegionRouteMap(Arrays.asList(regionReplicaSet1, regionReplicaSet2));
+            .getLatestRegionRouteMap(Arrays.asList(regionReplicaSet1, regionReplicaSet2));
     Assert.assertEquals(2, result.size());
 
     TRegionReplicaSet result1 = result.get(groupId1);
diff --git a/docs/UserGuide/Cluster/Cluster-Concept.md b/docs/UserGuide/Cluster/Cluster-Concept.md
index 73dabb4f74..7d849754ad 100644
--- a/docs/UserGuide/Cluster/Cluster-Concept.md
+++ b/docs/UserGuide/Cluster/Cluster-Concept.md
@@ -25,13 +25,13 @@ under the License.
 
 Apache IoTDB Cluster contains two types of nodes: ConfigNode and DataNode, each is a process that could be deployed independently.
 
-A illustrate of the cluster architecture:
+An illustration of the cluster architecture:
 
 <img style="width:100%; max-width:500px; max-height:400px; margin-left:auto; margin-right:auto; display:block;" src="https://github.com/apache/iotdb-bin-resources/blob/main/docs/UserGuide/Cluster/Architecture.png?raw=true">
 
-ConfigNode is the control node of the cluster, which manage the node status of cluster, partition information, etc. All ConfigNodes in the cluster form a high available group, which is fully replicated.
+ConfigNode is the control node of the cluster, which manages the node status of cluster, partition information, etc. All ConfigNodes in the cluster form a highly available group, which is fully replicated.
 
-DataNode stores the data and schema of cluster, which manage multiple data regions and schema regions. Data is the time-value pair, and schema is the path and data type of each timeseries.
+DataNode stores the data and schema of cluster, which manages multiple data regions and schema regions. Data is a time-value pair, and schema is the path and data type of each time series.
 
 Client could only connect to the DataNode for operation.
 
@@ -41,9 +41,9 @@ Client could only connect to the DataNode for operation.
     * All modules are designed for cluster.
     * Standalone is a special form of Cluster.
 * High Scalability
-    * Support add nodes in a few seconds without data migration.
+    * Support adding nodes in a few seconds without data migration.
 * Massive Parallel Processing Architecture
-    * Adopt the MPP architecture and volcano module for data processing, which has high extensibility.
+    * Adopt the MPP architecture and volcano module for data processing, which have high extensibility.
 * Configurable Consensus Protocol
     * We could adopt different consensus protocol for data replicas and schema replicas.
 * Extensible Partition Strategy
@@ -64,7 +64,7 @@ The storage group contains multiple SchemaRegions (schema shards) and DataRegion
 * Data partition strategy
     * For a time series data point, the ConfigNode will map to a series\_partition\_slot (vertical partition) according to the device ID, and then map it to a time\_partition\_slot (horizontal partition) according to the data timestamp, and allocate this data partition to a DataRegion group.
   
-IoTDB uses a slot-based partitioning strategy, so the size of the partition information is controllable and does not grow infinitely with time series or the number of devices.
+IoTDB uses a slot-based partitioning strategy, so the size of the partition information is controllable and does not grow infinitely with the number of time series or devices.
 
 Multiple replicas of a Region will be allocated to different DataNodes to avoid single point of failure, and the load balance of different DataNodes will be ensured when Regions are allocated.
 
@@ -79,7 +79,7 @@ A region is the basic unit of replication. Multiple replicas of a region constru
   * Data: The cluster has multiple DataRegion groups, and each DataRegion group has multiple DataRegions with the same id.
   * Schema: The cluster has multiple SchemaRegion groups, and each SchemaRegion group has multiple SchemaRegions with the same id.
 
-A illustration of the partition allocation in cluster:
+An illustration of the partition allocation in cluster:
 
 <img style="width:100%; max-width:500px; max-height:500px; margin-left:auto; margin-right:auto; display:block;" src="https://github.com/apache/iotdb-bin-resources/blob/main/docs/UserGuide/Cluster/Data-Partition.png?raw=true">
 
@@ -93,8 +93,8 @@ Among multiple replicas of each region group, data consistency is guaranteed thr
 
 * Current supported consensus protocol
   * Standalone:Could only be used when replica is 1, which is the empty implementation of the consensus protocol.
-  * MultiLeader:Could be used in any number of replicas, only for DataRegion, writes can be applied on each replica and replicated asynchronously to other replicas.
-  * Ratis:Raft consensus protocol, Could be used in any number of replicas, could be used for any region groups。
+  * MultiLeader:Could be used in any number of replicas, only for DataRegion, writings can be applied on each replica and replicated asynchronously to other replicas.
+  * Ratis:Raft consensus protocol, Could be used in any number of replicas, and could be used for any region groups。
   
 ## 0.14.0-preview1 Function Map
 
diff --git a/docs/UserGuide/Cluster/Cluster-Setup.md b/docs/UserGuide/Cluster/Cluster-Setup.md
index c071443f3c..2662db78a1 100644
--- a/docs/UserGuide/Cluster/Cluster-Setup.md
+++ b/docs/UserGuide/Cluster/Cluster-Setup.md
@@ -172,12 +172,14 @@ Execute the remove-confignode shell on an active ConfigNode.
 
 Remove on Linux:
 ```
-./confignode/sbin/remove-confignode.sh <id>/<internal_address>:<internal_port>
+./confignode/sbin/remove-confignode.sh <confignode_id>
+./confignode/sbin/remove-confignode.sh <internal_address>:<internal_port>
 ```
 
 Remove on Windows:
 ```
-confignode\sbin\remove-confignode.bat <id>/<internal_address>:<internal_port>
+confignode\sbin\remove-confignode.bat <confignode_id>
+confignode\sbin\remove-confignode.bat <internal_address>:<internal_port>
 ```
 
 ### Remove DataNode
@@ -186,12 +188,14 @@ Execute the remove-datanode shell on an active DataNode.
 
 Remove on Linux:
 ```
-./datanode/sbin/remove-datanode.sh <id>/<rpc_address>:<rpc_port>
+./datanode/sbin/remove-datanode.sh <datanode_id>
+./datanode/sbin/remove-datanode.sh <rpc_address>:<rpc_port>
 ```
 
 Remove on Windows:
 ```
-datanode\sbin\remove-datanode.bat <id>/<rpc_address>:<rpc_port>
+datanode\sbin\remove-datanode.bat <datanode_id>
+datanode\sbin\remove-datanode.bat <rpc_address>:<rpc_port>
 ```
 
 ## Quick Start
diff --git a/docs/UserGuide/Maintenance-Tools/Maintenance-Command.md b/docs/UserGuide/Maintenance-Tools/Maintenance-Command.md
index 8bb837eec8..fb2d975a22 100644
--- a/docs/UserGuide/Maintenance-Tools/Maintenance-Command.md
+++ b/docs/UserGuide/Maintenance-Tools/Maintenance-Command.md
@@ -409,4 +409,102 @@ The Region statuses are defined as follows:
 
 - **Running**: The Region is running properly and can be read and written
 - **Removing**: The DataNode where the Region located is being removed from the cluster, the Region cannot be read or written
-- **Unknown**: The DataNode where the Region located doesn't report heartbeat properly, the ConfigNode considers the Region as unreadable and un-writable
\ No newline at end of file
+- **Unknown**: The DataNode where the Region located doesn't report heartbeat properly, the ConfigNode considers the Region as unreadable and un-writable
+
+## Monitoring tool for cluster slots routing
+
+A cluster uses partitions for data and metadata arrangement, with a storage group's metadata partitions defined as series slot, and data partitions as <series slot, time slot> pair. To acquire this part of information, you can use the following SQLs for query:
+
+### Trace regionid of data partitions
+
+Trace the assigned regions of a data partition (or data partitions under the same series slot):
+- `SHOW DATA REGIONID OF root.sg WHERE SERIESSLOTID=s0 (AND TIMESLOTID=t0)`
+
+SQL Examples:
+```
+IoTDB> show data regionid of root.sg where seriesslotid=5286 and timeslotid=0
++--------+
+|RegionId|
++--------+
+|       1|
++--------+
+Total line number = 1
+It costs 0.006s
+
+IoTDB> show data regionid of root.sg where seriesslotid=5286
++--------+
+|RegionId|
++--------+
+|       1|
+|       2|
++--------+
+Total line number = 2
+It costs 0.006s
+```
+
+### Trace regionid of schema partitions
+Trace the assigned regions of a schema partition:
+- `SHOW SCHEMA REGIONID OF root.sg WHERE SERIESSLOTID=s0`
+
+SQL Examples:
+```
+IoTDB> show schema regionid of root.sg where seriesslotid=5286
++--------+
+|RegionId|
++--------+
+|       0|
++--------+
+Total line number = 1
+It costs 0.007s
+```
+### Trace time slots of a series slot
+Show the time slots under particular series slot in a storage group.
+- `SHOW TIMESLOTID OF root.sg WHERE SERIESLOTID=s0 (AND STARTTIME=t1) (AND ENDTIME=t2)`
+
+SQL Examples:
+```
+IoTDB> show timeslotid of root.sg where seriesslotid=5286
++----------+
+|TimeSlotId|
++----------+
+|         0|
+|      1000|
++----------+
+Total line number = 1
+It costs 0.007s
+```
+### Trace storage group's series slots
+Show the data/schema/whole series slots related to a storage group:
+- `SHOW (DATA|SCHEMA)? SERIESSLOTID OF root.sg`
+
+SQL Examples:
+```
+IoTDB> show data seriesslotid of root.sg
++------------+
+|SeriesSlotId|
++------------+
+|        5286|
++------------+
+Total line number = 1
+It costs 0.007s
+
+IoTDB> show schema seriesslotid of root.sg
++------------+
+|SeriesSlotId|
++------------+
+|        5286|
++------------+
+Total line number = 1
+It costs 0.006s
+
+IoTDB> show seriesslotid of root.sg
++------------+
+|SeriesSlotId|
++------------+
+|        5286|
++------------+
+Total line number = 1
+It costs 0.006s
+```
+#### Note:
+Normally, the data and schema series slots are the same in the storage group. Yet we still provide different sqls in case they're not.
\ No newline at end of file
diff --git a/docs/zh/UserGuide/Cluster/Cluster-Setup.md b/docs/zh/UserGuide/Cluster/Cluster-Setup.md
index 2be81f0619..e97d35eb21 100644
--- a/docs/zh/UserGuide/Cluster/Cluster-Setup.md
+++ b/docs/zh/UserGuide/Cluster/Cluster-Setup.md
@@ -173,12 +173,14 @@ datanode\sbin\start-cli.bat
 
 Linux 移除方式:
 ```
-./confignode/sbin/remove-confignode.sh <id>/<internal_address>:<internal_port>
+./confignode/sbin/remove-confignode.sh <confignode_id>
+./confignode/sbin/remove-confignode.sh <internal_address>:<internal_port>
 ```
 
 Windows 移除方式:
 ```
-confignode\sbin\remove-confignode.bat <id>/<internal_address>:<internal_port>
+confignode\sbin\remove-confignode.bat <confignode_id>
+confignode\sbin\remove-confignode.bat <internal_address>:<internal_port>
 ```
 
 ### 移除 DataNode
@@ -188,13 +190,15 @@ confignode\sbin\remove-confignode.bat <id>/<internal_address>:<internal_port>
 Linux 移除方式:
 
 ```
-./datanode/sbin/remove-datanode.sh <id>/<rpc_address>:<rpc_port>
+./datanode/sbin/remove-datanode.sh <datanode_id>
+./datanode/sbin/remove-datanode.sh <rpc_address>:<rpc_port>
 ```
 
 Windows 移除方式:
 
 ```
-datanode\sbin\remove-datanode.bat <id>/<rpc_address>:<rpc_port>
+datanode\sbin\remove-datanode.bat <datanode_id>
+datanode\sbin\remove-datanode.bat <rpc_address>:<rpc_port>
 ```
 
 ## 快速上手
diff --git a/docs/zh/UserGuide/Maintenance-Tools/Maintenance-Command.md b/docs/zh/UserGuide/Maintenance-Tools/Maintenance-Command.md
index b936c0eb4a..832b01b207 100644
--- a/docs/zh/UserGuide/Maintenance-Tools/Maintenance-Command.md
+++ b/docs/zh/UserGuide/Maintenance-Tools/Maintenance-Command.md
@@ -388,4 +388,101 @@ It costs 0.009s
 
 - **Running**: Region 正常运行,可读可写
 - **Removing**: Region 所在 DataNode 正在被移出集群,不可读写
-- **Unknown**: Region 所在 DataNode 未正常上报心跳,ConfigNode 认为该 Region 不可读写
\ No newline at end of file
+- **Unknown**: Region 所在 DataNode 未正常上报心跳,ConfigNode 认为该 Region 不可读写
+
+## 集群槽路径监控工具
+
+集群使用分片来管理数据和元数据,一个存储组的元数据分片定义为序列槽,而数据分片定义为<序列槽,时间分区槽>的数对。为了得到分片相关的信息,可以使用以下SQL来查询:
+### 追踪数据分片的分区
+
+追踪一个数据分片(或一个序列槽下的所有数据分片)的对应分区:
+- `SHOW DATA REGIONID OF root.sg WHERE SERIESSLOTID=s0 (AND TIMESLOTID=t0)`
+
+示例:
+```
+IoTDB> show data regionid of root.sg where seriesslotid=5286 and timeslotid=0
++--------+
+|RegionId|
++--------+
+|       1|
++--------+
+Total line number = 1
+It costs 0.006s
+
+IoTDB> show data regionid of root.sg where seriesslotid=5286
++--------+
+|RegionId|
++--------+
+|       1|
+|       2|
++--------+
+Total line number = 2
+It costs 0.006s
+```
+
+### 追踪元数据分片的分区
+追踪一个元数据分片下的对应分区:
+- `SHOW SCHEMA REGIONID OF root.sg WHERE SERIESSLOTID=s0`
+
+示例:
+```
+IoTDB> show schema regionid of root.sg where seriesslotid=5286
++--------+
+|RegionId|
++--------+
+|       0|
++--------+
+Total line number = 1
+It costs 0.007s
+```
+### 追踪序列槽下的时间槽
+展示一个存储组内,一个特定序列槽下的所有时间槽:
+- `SHOW TIMESLOTID OF root.sg WHERE SERIESLOTID=s0 (AND STARTTIME=t1) (AND ENDTIME=t2)`
+
+示例:
+```
+IoTDB> show timeslotid of root.sg where seriesslotid=5286
++----------+
+|TimeSlotId|
++----------+
+|         0|
+|      1000|
++----------+
+Total line number = 1
+It costs 0.007s
+```
+### 追踪存储组的序列槽
+展示一个存储组内,数据,元数据或是所有的序列槽:
+- `SHOW (DATA|SCHEMA)? SERIESSLOTID OF root.sg`
+
+示例:
+```
+IoTDB> show data seriesslotid of root.sg
++------------+
+|SeriesSlotId|
++------------+
+|        5286|
++------------+
+Total line number = 1
+It costs 0.007s
+
+IoTDB> show schema seriesslotid of root.sg
++------------+
+|SeriesSlotId|
++------------+
+|        5286|
++------------+
+Total line number = 1
+It costs 0.006s
+
+IoTDB> show seriesslotid of root.sg
++------------+
+|SeriesSlotId|
++------------+
+|        5286|
++------------+
+Total line number = 1
+It costs 0.006s
+```
+#### 注意:
+通常情况下,一个存储组内,数据和元数据的序列槽是相同的。然而,我们仍然提供了不同的sql语句,以防它们在某些情况下并不相同。
\ No newline at end of file
diff --git a/integration-test/src/test/java/org/apache/iotdb/confignode/it/IoTDBClusterPartitionIT.java b/integration-test/src/test/java/org/apache/iotdb/confignode/it/IoTDBClusterPartitionIT.java
index 85de4360eb..e995bcddd4 100644
--- a/integration-test/src/test/java/org/apache/iotdb/confignode/it/IoTDBClusterPartitionIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/confignode/it/IoTDBClusterPartitionIT.java
@@ -32,8 +32,8 @@ import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.commons.path.PathPatternTree;
 import org.apache.iotdb.confignode.rpc.thrift.TDataPartitionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TDataPartitionTableResp;
-import org.apache.iotdb.confignode.rpc.thrift.TGetRoutingReq;
-import org.apache.iotdb.confignode.rpc.thrift.TGetRoutingResp;
+import org.apache.iotdb.confignode.rpc.thrift.TGetRegionIdReq;
+import org.apache.iotdb.confignode.rpc.thrift.TGetRegionIdResp;
 import org.apache.iotdb.confignode.rpc.thrift.TGetSeriesSlotListReq;
 import org.apache.iotdb.confignode.rpc.thrift.TGetSeriesSlotListResp;
 import org.apache.iotdb.confignode.rpc.thrift.TGetTimeSlotListReq;
@@ -650,48 +650,49 @@ public class IoTDBClusterPartitionIT {
       }
 
       // Test getRouting api
-      TGetRoutingReq getRoutingReq;
-      TGetRoutingResp getRoutingResp;
+      TGetRegionIdReq getRegionIdReq;
+      TGetRegionIdResp getRegionIdResp;
 
       TSeriesPartitionSlot seriesPartitionSlot = new TSeriesPartitionSlot(0);
       TTimePartitionSlot timePartitionSlot = new TTimePartitionSlot(0L);
 
-      getRoutingReq = new TGetRoutingReq(sg0, TConsensusGroupType.DataRegion, seriesPartitionSlot);
-      getRoutingReq.setTimeSlotId(timePartitionSlot);
-      getRoutingResp = client.getRouting(getRoutingReq);
+      getRegionIdReq =
+          new TGetRegionIdReq(sg0, TConsensusGroupType.DataRegion, seriesPartitionSlot);
+      getRegionIdReq.setTimeSlotId(timePartitionSlot);
+      getRegionIdResp = client.getRegionId(getRegionIdReq);
       Assert.assertEquals(
-          TSStatusCode.SUCCESS_STATUS.getStatusCode(), getRoutingResp.status.getCode());
-      Assert.assertEquals(1, getRoutingResp.getDataRegionIdListSize());
+          TSStatusCode.SUCCESS_STATUS.getStatusCode(), getRegionIdResp.status.getCode());
+      Assert.assertEquals(1, getRegionIdResp.getDataRegionIdListSize());
 
-      getRoutingReq.setType(TConsensusGroupType.SchemaRegion);
-      getRoutingResp = client.getRouting(getRoutingReq);
+      getRegionIdReq.setType(TConsensusGroupType.SchemaRegion);
+      getRegionIdResp = client.getRegionId(getRegionIdReq);
       Assert.assertEquals(
-          TSStatusCode.ILLEGAL_PARAMETER.getStatusCode(), getRoutingResp.status.getCode());
+          TSStatusCode.ILLEGAL_PARAMETER.getStatusCode(), getRegionIdResp.status.getCode());
 
-      getRoutingReq.setType(TConsensusGroupType.PartitionRegion);
-      getRoutingResp = client.getRouting(getRoutingReq);
+      getRegionIdReq.setType(TConsensusGroupType.PartitionRegion);
+      getRegionIdResp = client.getRegionId(getRegionIdReq);
       Assert.assertEquals(
-          TSStatusCode.ILLEGAL_PARAMETER.getStatusCode(), getRoutingResp.status.getCode());
+          TSStatusCode.ILLEGAL_PARAMETER.getStatusCode(), getRegionIdResp.status.getCode());
 
-      getRoutingReq.unsetTimeSlotId();
-      getRoutingReq.setType(TConsensusGroupType.DataRegion);
-      getRoutingResp = client.getRouting(getRoutingReq);
+      getRegionIdReq.unsetTimeSlotId();
+      getRegionIdReq.setType(TConsensusGroupType.DataRegion);
+      getRegionIdResp = client.getRegionId(getRegionIdReq);
       Assert.assertEquals(
-          TSStatusCode.SUCCESS_STATUS.getStatusCode(), getRoutingResp.status.getCode());
-      Assert.assertEquals(1, getRoutingResp.getDataRegionIdListSize());
+          TSStatusCode.SUCCESS_STATUS.getStatusCode(), getRegionIdResp.status.getCode());
+      Assert.assertEquals(1, getRegionIdResp.getDataRegionIdListSize());
 
-      getRoutingReq.setSeriesSlotId(schemaSlot);
-      getRoutingReq.setType(TConsensusGroupType.SchemaRegion);
-      getRoutingResp = client.getRouting(getRoutingReq);
+      getRegionIdReq.setSeriesSlotId(schemaSlot);
+      getRegionIdReq.setType(TConsensusGroupType.SchemaRegion);
+      getRegionIdResp = client.getRegionId(getRegionIdReq);
       Assert.assertEquals(
-          TSStatusCode.SUCCESS_STATUS.getStatusCode(), getRoutingResp.status.getCode());
-      Assert.assertEquals(1, getRoutingResp.getDataRegionIdListSize());
+          TSStatusCode.SUCCESS_STATUS.getStatusCode(), getRegionIdResp.status.getCode());
+      Assert.assertEquals(1, getRegionIdResp.getDataRegionIdListSize());
 
-      getRoutingReq.setType(TConsensusGroupType.PartitionRegion);
-      getRoutingResp = client.getRouting(getRoutingReq);
+      getRegionIdReq.setType(TConsensusGroupType.PartitionRegion);
+      getRegionIdResp = client.getRegionId(getRegionIdReq);
       Assert.assertEquals(
-          TSStatusCode.SUCCESS_STATUS.getStatusCode(), getRoutingResp.status.getCode());
-      Assert.assertEquals(0, getRoutingResp.getDataRegionIdListSize());
+          TSStatusCode.SUCCESS_STATUS.getStatusCode(), getRegionIdResp.status.getCode());
+      Assert.assertEquals(0, getRegionIdResp.getDataRegionIdListSize());
 
       // Test GetTimeSlotList api
       TGetTimeSlotListReq getTimeSlotListReq;
diff --git a/node-commons/src/main/java/org/apache/iotdb/commons/partition/DataPartitionTable.java b/node-commons/src/main/java/org/apache/iotdb/commons/partition/DataPartitionTable.java
index c8cb7f165f..39c151a390 100644
--- a/node-commons/src/main/java/org/apache/iotdb/commons/partition/DataPartitionTable.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/partition/DataPartitionTable.java
@@ -169,13 +169,13 @@ public class DataPartitionTable {
    * @return the timePartition's corresponding dataRegionIds, if timeSlotId == -1, then return all
    *     the seriesSlot's dataRegionIds
    */
-  public List<TConsensusGroupId> getRouting(
+  public List<TConsensusGroupId> getRegionId(
       TSeriesPartitionSlot seriesSlotId, TTimePartitionSlot timeSlotId) {
     if (!dataPartitionMap.containsKey(seriesSlotId)) {
       return new ArrayList<>();
     }
     SeriesPartitionTable seriesPartitionTable = dataPartitionMap.get(seriesSlotId);
-    return seriesPartitionTable.getRouting(timeSlotId);
+    return seriesPartitionTable.getRegionId(timeSlotId);
   }
 
   public List<TTimePartitionSlot> getTimeSlotList(
diff --git a/node-commons/src/main/java/org/apache/iotdb/commons/partition/SchemaPartitionTable.java b/node-commons/src/main/java/org/apache/iotdb/commons/partition/SchemaPartitionTable.java
index db23ea2cfd..3eba85d49c 100644
--- a/node-commons/src/main/java/org/apache/iotdb/commons/partition/SchemaPartitionTable.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/partition/SchemaPartitionTable.java
@@ -133,7 +133,7 @@ public class SchemaPartitionTable {
     return result;
   }
 
-  public List<TConsensusGroupId> getRouting(TSeriesPartitionSlot seriesSlotId) {
+  public List<TConsensusGroupId> getRegionId(TSeriesPartitionSlot seriesSlotId) {
     if (!schemaPartitionMap.containsKey(seriesSlotId)) {
       return new ArrayList<>();
     }
diff --git a/node-commons/src/main/java/org/apache/iotdb/commons/partition/SeriesPartitionTable.java b/node-commons/src/main/java/org/apache/iotdb/commons/partition/SeriesPartitionTable.java
index 5324ca757c..7db5486893 100644
--- a/node-commons/src/main/java/org/apache/iotdb/commons/partition/SeriesPartitionTable.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/partition/SeriesPartitionTable.java
@@ -119,7 +119,7 @@ public class SeriesPartitionTable {
    * @param timeSlotId Time partition's timeSlotId
    * @return the timePartition's corresponding dataRegionIds
    */
-  List<TConsensusGroupId> getRouting(TTimePartitionSlot timeSlotId) {
+  List<TConsensusGroupId> getRegionId(TTimePartitionSlot timeSlotId) {
     if (timeSlotId.getStartTime() >= 0) {
       if (!seriesPartitionMap.containsKey(timeSlotId)) {
         return new ArrayList<>();
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 fb8c87da7b..239beb4201 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
@@ -60,8 +60,8 @@ import org.apache.iotdb.confignode.rpc.thrift.TGetAllTemplatesResp;
 import org.apache.iotdb.confignode.rpc.thrift.TGetPathsSetTemplatesResp;
 import org.apache.iotdb.confignode.rpc.thrift.TGetPipeSinkReq;
 import org.apache.iotdb.confignode.rpc.thrift.TGetPipeSinkResp;
-import org.apache.iotdb.confignode.rpc.thrift.TGetRoutingReq;
-import org.apache.iotdb.confignode.rpc.thrift.TGetRoutingResp;
+import org.apache.iotdb.confignode.rpc.thrift.TGetRegionIdReq;
+import org.apache.iotdb.confignode.rpc.thrift.TGetRegionIdResp;
 import org.apache.iotdb.confignode.rpc.thrift.TGetSeriesSlotListReq;
 import org.apache.iotdb.confignode.rpc.thrift.TGetSeriesSlotListResp;
 import org.apache.iotdb.confignode.rpc.thrift.TGetTemplateResp;
@@ -137,7 +137,7 @@ public class ConfigNodeClient
 
   private int cursor = 0;
 
-  private IoTDBConfig config = IoTDBDescriptor.getInstance().getConfig();
+  private final IoTDBConfig config = IoTDBDescriptor.getInstance().getConfig();
 
   ClientManager<PartitionRegionId, ConfigNodeClient> clientManager;
 
@@ -1177,10 +1177,10 @@ public class ConfigNodeClient
   }
 
   @Override
-  public TGetRoutingResp getRouting(TGetRoutingReq req) throws TException {
+  public TGetRegionIdResp getRegionId(TGetRegionIdReq req) throws TException {
     for (int i = 0; i < RETRY_NUM; i++) {
       try {
-        TGetRoutingResp resp = client.getRouting(req);
+        TGetRegionIdResp resp = client.getRegionId(req);
         if (!updateConfigNodeLeader(resp.getStatus())) {
           return resp;
         }
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/common/header/ColumnHeaderConstant.java b/server/src/main/java/org/apache/iotdb/db/mpp/common/header/ColumnHeaderConstant.java
index 67bd84e06b..415f81aa1b 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/common/header/ColumnHeaderConstant.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/common/header/ColumnHeaderConstant.java
@@ -89,8 +89,8 @@ public class ColumnHeaderConstant {
   public static final String COLUMN_TYPE = "Type";
   public static final String COLUMN_SHOW_REGION_STORAGE_GROUP = "Storage Group";
   public static final String COLUMN_DATANODE_ID = "DataNodeId";
-  public static final String COLUMN_SERIES_SLOTS = "SeriesSlots";
-  public static final String COLUMN_TIME_SLOTS = "TimeSlots";
+  public static final String COLUMN_SERIES_SLOT_ID = "SeriesSlotId";
+  public static final String COLUMN_TIME_SLOT_ID = "TimeSlotId";
   public static final String COLUMN_ROLE = "Role";
 
   // column names for show datanodes
@@ -213,8 +213,8 @@ public class ColumnHeaderConstant {
           new ColumnHeader(COLUMN_TYPE, TSDataType.TEXT),
           new ColumnHeader(COLUMN_STATUS, TSDataType.TEXT),
           new ColumnHeader(COLUMN_SHOW_REGION_STORAGE_GROUP, TSDataType.TEXT),
-          new ColumnHeader(COLUMN_SERIES_SLOTS, TSDataType.INT32),
-          new ColumnHeader(COLUMN_TIME_SLOTS, TSDataType.INT64),
+          new ColumnHeader(COLUMN_SERIES_SLOT_ID, TSDataType.INT32),
+          new ColumnHeader(COLUMN_TIME_SLOT_ID, TSDataType.INT64),
           new ColumnHeader(COLUMN_DATANODE_ID, TSDataType.INT32),
           new ColumnHeader(COLUMN_HOST, TSDataType.TEXT),
           new ColumnHeader(COLUMN_RPC_PORT, TSDataType.INT32),
@@ -295,12 +295,12 @@ public class ColumnHeaderConstant {
           new ColumnHeader(COLUMN_TARGET_TIMESERIES, TSDataType.TEXT),
           new ColumnHeader(COLUMN_WRITTEN, TSDataType.INT32));
 
-  public static final List<ColumnHeader> getRoutingColumnHeaders =
+  public static final List<ColumnHeader> getRegionIdColumnHeaders =
       ImmutableList.of(new ColumnHeader(COLUMN_REGION_ID, TSDataType.INT32));
 
   public static final List<ColumnHeader> getTimeSlotListColumnHeaders =
-      ImmutableList.of(new ColumnHeader(COLUMN_TIME_SLOTS, TSDataType.INT64));
+      ImmutableList.of(new ColumnHeader(COLUMN_TIME_SLOT_ID, TSDataType.INT64));
 
   public static final List<ColumnHeader> getSeriesSlotListColumnHeaders =
-      ImmutableList.of(new ColumnHeader(COLUMN_SERIES_SLOTS, TSDataType.INT32));
+      ImmutableList.of(new ColumnHeader(COLUMN_SERIES_SLOT_ID, TSDataType.INT32));
 }
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/common/header/DatasetHeaderFactory.java b/server/src/main/java/org/apache/iotdb/db/mpp/common/header/DatasetHeaderFactory.java
index 7c537f791e..f64300890b 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/common/header/DatasetHeaderFactory.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/common/header/DatasetHeaderFactory.java
@@ -129,8 +129,8 @@ public class DatasetHeaderFactory {
     return new DatasetHeader(ColumnHeaderConstant.showPipeColumnHeaders, true);
   }
 
-  public static DatasetHeader getGetRegionHeader() {
-    return new DatasetHeader(ColumnHeaderConstant.getRoutingColumnHeaders, true);
+  public static DatasetHeader getGetRegionIdHeader() {
+    return new DatasetHeader(ColumnHeaderConstant.getRegionIdColumnHeaders, true);
   }
 
   public static DatasetHeader getGetSeriesSlotListHeader() {
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/ConfigTaskVisitor.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/ConfigTaskVisitor.java
index c564d09380..7fc68c0d46 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/ConfigTaskVisitor.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/ConfigTaskVisitor.java
@@ -26,7 +26,7 @@ import org.apache.iotdb.db.mpp.plan.execution.config.metadata.DeleteStorageGroup
 import org.apache.iotdb.db.mpp.plan.execution.config.metadata.DeleteTimeSeriesTask;
 import org.apache.iotdb.db.mpp.plan.execution.config.metadata.DropFunctionTask;
 import org.apache.iotdb.db.mpp.plan.execution.config.metadata.DropTriggerTask;
-import org.apache.iotdb.db.mpp.plan.execution.config.metadata.GetRegionTask;
+import org.apache.iotdb.db.mpp.plan.execution.config.metadata.GetRegionIdTask;
 import org.apache.iotdb.db.mpp.plan.execution.config.metadata.GetSeriesSlotListTask;
 import org.apache.iotdb.db.mpp.plan.execution.config.metadata.GetTimeSlotListTask;
 import org.apache.iotdb.db.mpp.plan.execution.config.metadata.SetStorageGroupTask;
@@ -69,7 +69,7 @@ import org.apache.iotdb.db.mpp.plan.statement.metadata.DeleteStorageGroupStateme
 import org.apache.iotdb.db.mpp.plan.statement.metadata.DeleteTimeSeriesStatement;
 import org.apache.iotdb.db.mpp.plan.statement.metadata.DropFunctionStatement;
 import org.apache.iotdb.db.mpp.plan.statement.metadata.DropTriggerStatement;
-import org.apache.iotdb.db.mpp.plan.statement.metadata.GetRegionStatement;
+import org.apache.iotdb.db.mpp.plan.statement.metadata.GetRegionIdStatement;
 import org.apache.iotdb.db.mpp.plan.statement.metadata.GetSeriesSlotListStatement;
 import org.apache.iotdb.db.mpp.plan.statement.metadata.GetTimeSlotListStatement;
 import org.apache.iotdb.db.mpp.plan.statement.metadata.SetStorageGroupStatement;
@@ -327,8 +327,9 @@ public class ConfigTaskVisitor
   }
 
   @Override
-  public IConfigTask visitGetRegion(GetRegionStatement getRegionStatement, TaskContext context) {
-    return new GetRegionTask(getRegionStatement);
+  public IConfigTask visitGetRegionId(
+      GetRegionIdStatement getRegionIdStatement, TaskContext context) {
+    return new GetRegionIdTask(getRegionIdStatement);
   }
 
   @Override
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 33e42650b0..4857dbcd40 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
@@ -41,8 +41,8 @@ import org.apache.iotdb.confignode.rpc.thrift.TDropPipeSinkReq;
 import org.apache.iotdb.confignode.rpc.thrift.TDropTriggerReq;
 import org.apache.iotdb.confignode.rpc.thrift.TGetPipeSinkReq;
 import org.apache.iotdb.confignode.rpc.thrift.TGetPipeSinkResp;
-import org.apache.iotdb.confignode.rpc.thrift.TGetRoutingReq;
-import org.apache.iotdb.confignode.rpc.thrift.TGetRoutingResp;
+import org.apache.iotdb.confignode.rpc.thrift.TGetRegionIdReq;
+import org.apache.iotdb.confignode.rpc.thrift.TGetRegionIdResp;
 import org.apache.iotdb.confignode.rpc.thrift.TGetSeriesSlotListReq;
 import org.apache.iotdb.confignode.rpc.thrift.TGetSeriesSlotListResp;
 import org.apache.iotdb.confignode.rpc.thrift.TGetTemplateResp;
@@ -70,7 +70,7 @@ import org.apache.iotdb.db.metadata.template.ClusterTemplateManager;
 import org.apache.iotdb.db.metadata.template.Template;
 import org.apache.iotdb.db.mpp.plan.execution.config.ConfigTaskResult;
 import org.apache.iotdb.db.mpp.plan.execution.config.metadata.CountStorageGroupTask;
-import org.apache.iotdb.db.mpp.plan.execution.config.metadata.GetRegionTask;
+import org.apache.iotdb.db.mpp.plan.execution.config.metadata.GetRegionIdTask;
 import org.apache.iotdb.db.mpp.plan.execution.config.metadata.GetSeriesSlotListTask;
 import org.apache.iotdb.db.mpp.plan.execution.config.metadata.GetTimeSlotListTask;
 import org.apache.iotdb.db.mpp.plan.execution.config.metadata.SetStorageGroupTask;
@@ -90,7 +90,7 @@ import org.apache.iotdb.db.mpp.plan.statement.metadata.CountStorageGroupStatemen
 import org.apache.iotdb.db.mpp.plan.statement.metadata.CreateTriggerStatement;
 import org.apache.iotdb.db.mpp.plan.statement.metadata.DeleteStorageGroupStatement;
 import org.apache.iotdb.db.mpp.plan.statement.metadata.DeleteTimeSeriesStatement;
-import org.apache.iotdb.db.mpp.plan.statement.metadata.GetRegionStatement;
+import org.apache.iotdb.db.mpp.plan.statement.metadata.GetRegionIdStatement;
 import org.apache.iotdb.db.mpp.plan.statement.metadata.GetSeriesSlotListStatement;
 import org.apache.iotdb.db.mpp.plan.statement.metadata.GetTimeSlotListStatement;
 import org.apache.iotdb.db.mpp.plan.statement.metadata.SetStorageGroupStatement;
@@ -1038,20 +1038,20 @@ public class ClusterConfigTaskExecutor implements IConfigTaskExecutor {
   }
 
   @Override
-  public SettableFuture<ConfigTaskResult> getRegion(GetRegionStatement getRegionStatement) {
+  public SettableFuture<ConfigTaskResult> getRegionId(GetRegionIdStatement getRegionIdStatement) {
     SettableFuture<ConfigTaskResult> future = SettableFuture.create();
-    TGetRoutingResp resp = new TGetRoutingResp();
+    TGetRegionIdResp resp = new TGetRegionIdResp();
     try (ConfigNodeClient configNodeClient =
         CONFIG_NODE_CLIENT_MANAGER.borrowClient(ConfigNodeInfo.partitionRegionId)) {
-      TGetRoutingReq tGetRoutingReq =
-          new TGetRoutingReq(
-              getRegionStatement.getStorageGroup(),
-              getRegionStatement.getPartitionType(),
-              getRegionStatement.getSeriesSlotId());
-      if (getRegionStatement.getTimeSlotId() != null) {
-        tGetRoutingReq.setTimeSlotId(getRegionStatement.getTimeSlotId());
+      TGetRegionIdReq tGetRegionIdReq =
+          new TGetRegionIdReq(
+              getRegionIdStatement.getStorageGroup(),
+              getRegionIdStatement.getPartitionType(),
+              getRegionIdStatement.getSeriesSlotId());
+      if (getRegionIdStatement.getTimeSlotId() != null) {
+        tGetRegionIdReq.setTimeSlotId(getRegionIdStatement.getTimeSlotId());
       }
-      resp = configNodeClient.getRouting(tGetRoutingReq);
+      resp = configNodeClient.getRegionId(tGetRegionIdReq);
       if (resp.getStatus().getCode() != TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
         future.setException(new IoTDBException(resp.getStatus().message, resp.getStatus().code));
         return future;
@@ -1059,7 +1059,7 @@ public class ClusterConfigTaskExecutor implements IConfigTaskExecutor {
     } catch (Exception e) {
       future.setException(e);
     }
-    GetRegionTask.buildTSBlock(resp, future);
+    GetRegionIdTask.buildTSBlock(resp, future);
     return future;
   }
 
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/executor/IConfigTaskExecutor.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/executor/IConfigTaskExecutor.java
index 82a16c6e5b..9cbae3e4f6 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/executor/IConfigTaskExecutor.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/executor/IConfigTaskExecutor.java
@@ -26,7 +26,7 @@ import org.apache.iotdb.db.mpp.plan.statement.metadata.CountStorageGroupStatemen
 import org.apache.iotdb.db.mpp.plan.statement.metadata.CreateTriggerStatement;
 import org.apache.iotdb.db.mpp.plan.statement.metadata.DeleteStorageGroupStatement;
 import org.apache.iotdb.db.mpp.plan.statement.metadata.DeleteTimeSeriesStatement;
-import org.apache.iotdb.db.mpp.plan.statement.metadata.GetRegionStatement;
+import org.apache.iotdb.db.mpp.plan.statement.metadata.GetRegionIdStatement;
 import org.apache.iotdb.db.mpp.plan.statement.metadata.GetSeriesSlotListStatement;
 import org.apache.iotdb.db.mpp.plan.statement.metadata.GetTimeSlotListStatement;
 import org.apache.iotdb.db.mpp.plan.statement.metadata.SetStorageGroupStatement;
@@ -134,7 +134,7 @@ public interface IConfigTaskExecutor {
   SettableFuture<ConfigTaskResult> deleteTimeSeries(
       String queryId, DeleteTimeSeriesStatement deleteTimeSeriesStatement);
 
-  SettableFuture<ConfigTaskResult> getRegion(GetRegionStatement getRegionStatement);
+  SettableFuture<ConfigTaskResult> getRegionId(GetRegionIdStatement getRegionIdStatement);
 
   SettableFuture<ConfigTaskResult> getSeriesSlotList(
       GetSeriesSlotListStatement getSeriesSlotListStatement);
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/executor/StandaloneConfigTaskExecutor.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/executor/StandaloneConfigTaskExecutor.java
index 5879056f09..a934b815c7 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/executor/StandaloneConfigTaskExecutor.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/executor/StandaloneConfigTaskExecutor.java
@@ -44,7 +44,7 @@ import org.apache.iotdb.db.mpp.plan.statement.metadata.CountStorageGroupStatemen
 import org.apache.iotdb.db.mpp.plan.statement.metadata.CreateTriggerStatement;
 import org.apache.iotdb.db.mpp.plan.statement.metadata.DeleteStorageGroupStatement;
 import org.apache.iotdb.db.mpp.plan.statement.metadata.DeleteTimeSeriesStatement;
-import org.apache.iotdb.db.mpp.plan.statement.metadata.GetRegionStatement;
+import org.apache.iotdb.db.mpp.plan.statement.metadata.GetRegionIdStatement;
 import org.apache.iotdb.db.mpp.plan.statement.metadata.GetSeriesSlotListStatement;
 import org.apache.iotdb.db.mpp.plan.statement.metadata.GetTimeSlotListStatement;
 import org.apache.iotdb.db.mpp.plan.statement.metadata.SetStorageGroupStatement;
@@ -590,7 +590,7 @@ public class StandaloneConfigTaskExecutor implements IConfigTaskExecutor {
   }
 
   @Override
-  public SettableFuture<ConfigTaskResult> getRegion(GetRegionStatement getRegionStatement) {
+  public SettableFuture<ConfigTaskResult> getRegionId(GetRegionIdStatement getRegionIdStatement) {
     SettableFuture<ConfigTaskResult> future = SettableFuture.create();
     future.setException(
         new IoTDBException(
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/GetRegionTask.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/GetRegionIdTask.java
similarity index 81%
rename from server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/GetRegionTask.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/GetRegionIdTask.java
index 2410f93fcb..c156814932 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/GetRegionTask.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/GetRegionIdTask.java
@@ -20,7 +20,7 @@
 package org.apache.iotdb.db.mpp.plan.execution.config.metadata;
 
 import org.apache.iotdb.common.rpc.thrift.TConsensusGroupId;
-import org.apache.iotdb.confignode.rpc.thrift.TGetRoutingResp;
+import org.apache.iotdb.confignode.rpc.thrift.TGetRegionIdResp;
 import org.apache.iotdb.db.mpp.common.header.ColumnHeader;
 import org.apache.iotdb.db.mpp.common.header.ColumnHeaderConstant;
 import org.apache.iotdb.db.mpp.common.header.DatasetHeader;
@@ -28,7 +28,7 @@ import org.apache.iotdb.db.mpp.common.header.DatasetHeaderFactory;
 import org.apache.iotdb.db.mpp.plan.execution.config.ConfigTaskResult;
 import org.apache.iotdb.db.mpp.plan.execution.config.IConfigTask;
 import org.apache.iotdb.db.mpp.plan.execution.config.executor.IConfigTaskExecutor;
-import org.apache.iotdb.db.mpp.plan.statement.metadata.GetRegionStatement;
+import org.apache.iotdb.db.mpp.plan.statement.metadata.GetRegionIdStatement;
 import org.apache.iotdb.rpc.TSStatusCode;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.read.common.block.TsBlockBuilder;
@@ -39,19 +39,19 @@ import com.google.common.util.concurrent.SettableFuture;
 import java.util.List;
 import java.util.stream.Collectors;
 
-public class GetRegionTask implements IConfigTask {
+public class GetRegionIdTask implements IConfigTask {
 
-  private final GetRegionStatement getRegionStatement;
+  private final GetRegionIdStatement getRegionIdStatement;
 
-  public GetRegionTask(GetRegionStatement getRegionStatement) {
-    this.getRegionStatement = getRegionStatement;
+  public GetRegionIdTask(GetRegionIdStatement getRegionStatement) {
+    this.getRegionIdStatement = getRegionStatement;
   }
 
   @Override
   public ListenableFuture<ConfigTaskResult> execute(IConfigTaskExecutor configTaskExecutor) {
     // If the action is executed successfully, return the Future.
     // If your operation is async, you can return the corresponding future directly.
-    return configTaskExecutor.getRegion(getRegionStatement);
+    return configTaskExecutor.getRegionId(getRegionIdStatement);
   }
 
   public static void buildTsBlock(TsBlockBuilder builder, TConsensusGroupId tConsensusGroupId) {
@@ -61,16 +61,16 @@ public class GetRegionTask implements IConfigTask {
   }
 
   public static void buildTSBlock(
-      TGetRoutingResp getRoutingResp, SettableFuture<ConfigTaskResult> future) {
+      TGetRegionIdResp getRegionIdResp, SettableFuture<ConfigTaskResult> future) {
     List<TSDataType> outputDataTypes =
-        ColumnHeaderConstant.getRoutingColumnHeaders.stream()
+        ColumnHeaderConstant.getRegionIdColumnHeaders.stream()
             .map(ColumnHeader::getColumnType)
             .collect(Collectors.toList());
     TsBlockBuilder builder = new TsBlockBuilder(outputDataTypes);
 
-    getRoutingResp.getDataRegionIdList().forEach(e -> buildTsBlock(builder, e));
+    getRegionIdResp.getDataRegionIdList().forEach(e -> buildTsBlock(builder, e));
 
-    DatasetHeader datasetHeader = DatasetHeaderFactory.getGetRegionHeader();
+    DatasetHeader datasetHeader = DatasetHeaderFactory.getGetRegionIdHeader();
     future.set(new ConfigTaskResult(TSStatusCode.SUCCESS_STATUS, builder.build(), datasetHeader));
   }
 }
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/parser/ASTVisitor.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/parser/ASTVisitor.java
index 4267c29f4d..d599436580 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/parser/ASTVisitor.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/parser/ASTVisitor.java
@@ -105,7 +105,7 @@ import org.apache.iotdb.db.mpp.plan.statement.metadata.DeleteStorageGroupStateme
 import org.apache.iotdb.db.mpp.plan.statement.metadata.DeleteTimeSeriesStatement;
 import org.apache.iotdb.db.mpp.plan.statement.metadata.DropFunctionStatement;
 import org.apache.iotdb.db.mpp.plan.statement.metadata.DropTriggerStatement;
-import org.apache.iotdb.db.mpp.plan.statement.metadata.GetRegionStatement;
+import org.apache.iotdb.db.mpp.plan.statement.metadata.GetRegionIdStatement;
 import org.apache.iotdb.db.mpp.plan.statement.metadata.GetSeriesSlotListStatement;
 import org.apache.iotdb.db.mpp.plan.statement.metadata.GetTimeSlotListStatement;
 import org.apache.iotdb.db.mpp.plan.statement.metadata.SetStorageGroupStatement;
@@ -3083,19 +3083,19 @@ public class ASTVisitor extends IoTDBSqlParserBaseVisitor<Statement> {
   }
 
   @Override
-  public Statement visitGetRegion(IoTDBSqlParser.GetRegionContext ctx) {
+  public Statement visitGetRegionId(IoTDBSqlParser.GetRegionIdContext ctx) {
     TConsensusGroupType type =
         ctx.DATA() == null ? TConsensusGroupType.SchemaRegion : TConsensusGroupType.DataRegion;
-    GetRegionStatement getRegionStatement =
-        new GetRegionStatement(
+    GetRegionIdStatement getRegionIdStatement =
+        new GetRegionIdStatement(
             ctx.prefixPath().getText(),
             type,
             new TSeriesPartitionSlot(Integer.parseInt(ctx.seriesSlot.getText())));
     if (ctx.timeSlot != null) {
-      getRegionStatement.setTimeSlotId(
+      getRegionIdStatement.setTimeSlotId(
           new TTimePartitionSlot(Integer.parseInt(ctx.timeSlot.getText())));
     }
-    return getRegionStatement;
+    return getRegionIdStatement;
   }
 
   @Override
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/StatementVisitor.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/StatementVisitor.java
index 9842362ee6..be99227d27 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/StatementVisitor.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/StatementVisitor.java
@@ -45,7 +45,7 @@ import org.apache.iotdb.db.mpp.plan.statement.metadata.DeleteStorageGroupStateme
 import org.apache.iotdb.db.mpp.plan.statement.metadata.DeleteTimeSeriesStatement;
 import org.apache.iotdb.db.mpp.plan.statement.metadata.DropFunctionStatement;
 import org.apache.iotdb.db.mpp.plan.statement.metadata.DropTriggerStatement;
-import org.apache.iotdb.db.mpp.plan.statement.metadata.GetRegionStatement;
+import org.apache.iotdb.db.mpp.plan.statement.metadata.GetRegionIdStatement;
 import org.apache.iotdb.db.mpp.plan.statement.metadata.GetSeriesSlotListStatement;
 import org.apache.iotdb.db.mpp.plan.statement.metadata.GetTimeSlotListStatement;
 import org.apache.iotdb.db.mpp.plan.statement.metadata.SetStorageGroupStatement;
@@ -397,8 +397,8 @@ public abstract class StatementVisitor<R, C> {
     return visitStatement(stopPipeStatement, context);
   }
 
-  public R visitGetRegion(GetRegionStatement getRegionStatement, C context) {
-    return visitStatement(getRegionStatement, context);
+  public R visitGetRegionId(GetRegionIdStatement getRegionIdStatement, C context) {
+    return visitStatement(getRegionIdStatement, context);
   }
 
   public R visitGetSeriesSlotList(
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/metadata/GetRegionStatement.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/metadata/GetRegionIdStatement.java
similarity index 94%
rename from server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/metadata/GetRegionStatement.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/metadata/GetRegionIdStatement.java
index 5dffd37061..f1506e4922 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/metadata/GetRegionStatement.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/metadata/GetRegionIdStatement.java
@@ -41,7 +41,7 @@ import java.util.List;
  * <p>SHOW (DATA|SCHEMA) REGIONID OF path=prefixPath WHERE SERIESSLOTID operator_eq
  * seriesSlot=INTEGER_LITERAL (OPERATOR_AND TIMESLOTID operator_eq timeSlot=INTEGER_LITERAL)?
  */
-public class GetRegionStatement extends Statement implements IConfigStatement {
+public class GetRegionIdStatement extends Statement implements IConfigStatement {
 
   private final String storageGroup;
 
@@ -51,7 +51,7 @@ public class GetRegionStatement extends Statement implements IConfigStatement {
 
   private TTimePartitionSlot timeSlotId;
 
-  public GetRegionStatement(
+  public GetRegionIdStatement(
       String storageGroup, TConsensusGroupType partitionType, TSeriesPartitionSlot seriesSlotId) {
     super();
     this.storageGroup = storageGroup;
@@ -81,7 +81,7 @@ public class GetRegionStatement extends Statement implements IConfigStatement {
 
   @Override
   public <R, C> R accept(StatementVisitor<R, C> visitor, C context) {
-    return visitor.visitGetRegion(this, context);
+    return visitor.visitGetRegionId(this, context);
   }
 
   @Override
diff --git a/thrift-confignode/src/main/thrift/confignode.thrift b/thrift-confignode/src/main/thrift/confignode.thrift
index d3d110d4bc..f837bc3a88 100644
--- a/thrift-confignode/src/main/thrift/confignode.thrift
+++ b/thrift-confignode/src/main/thrift/confignode.thrift
@@ -188,14 +188,14 @@ struct TDataPartitionTableResp {
   2: optional map<string, map<common.TSeriesPartitionSlot, map<common.TTimePartitionSlot, list<common.TConsensusGroupId>>>> dataPartitionTable
 }
 
-struct TGetRoutingReq {
+struct TGetRegionIdReq {
     1: required string storageGroup
     2: required common.TConsensusGroupType type
     3: required common.TSeriesPartitionSlot seriesSlotId
     4: optional common.TTimePartitionSlot timeSlotId
 }
 
-struct TGetRoutingResp {
+struct TGetRegionIdResp {
     1: required common.TSStatus status
     2: optional list<common.TConsensusGroupId> dataRegionIdList
 }
@@ -891,7 +891,7 @@ service IConfigNodeRPCService {
   // ======================================================
 
   /** Get a particular DataPartition's corresponding Regions */
-  TGetRoutingResp getRouting(TGetRoutingReq req)
+  TGetRegionIdResp getRegionId(TGetRegionIdReq req)
 
   /** Get a specific SeriesSlot's TimeSlots by start time and end time */
   TGetTimeSlotListResp getTimeSlotList(TGetTimeSlotListReq req)