You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by qi...@apache.org on 2022/06/29 09:24:35 UTC

[iotdb] branch master updated: [IOTDB-3666] Rename XXReq in ConfigNode to XXPlan (#6490)

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

qiaojialin 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 7909228dce [IOTDB-3666] Rename XXReq in ConfigNode to XXPlan (#6490)
7909228dce is described below

commit 7909228dce645e55147105f3f34b602f1ad17364
Author: Itami Sho <42...@users.noreply.github.com>
AuthorDate: Wed Jun 29 17:24:28 2022 +0800

    [IOTDB-3666] Rename XXReq in ConfigNode to XXPlan (#6490)
---
 .../confignode/client/AsyncDataNodeClientPool.java |  10 +-
 ...{ConfigRequest.java => ConfigPhysicalPlan.java} | 134 ++++----
 ...equestType.java => ConfigPhysicalPlanType.java} |   2 +-
 .../auth/{AuthorReq.java => AuthorPlan.java}       |  60 ++--
 ...ageGroupReq.java => CountStorageGroupPlan.java} |  18 +-
 ...taNodeInfoReq.java => GetDataNodeInfoPlan.java} |  16 +-
 ...PartitionReq.java => GetDataPartitionPlan.java} |  16 +-
 ...tionReq.java => GetNodePathsPartitionPlan.java} |  12 +-
 ...nReq.java => GetOrCreateDataPartitionPlan.java} |   8 +-
 ...eq.java => GetOrCreateSchemaPartitionPlan.java} |   8 +-
 ...InfoListReq.java => GetRegionInfoListPlan.java} |  14 +-
 ...rtitionReq.java => GetSchemaPartitionPlan.java} |  16 +-
 ...orageGroupReq.java => GetStorageGroupPlan.java} |  12 +-
 ...Req.java => AdjustMaxRegionGroupCountPlan.java} |  14 +-
 ...ConfigNodeReq.java => ApplyConfigNodePlan.java} |  16 +-
 ...titionReq.java => CreateDataPartitionPlan.java} |  14 +-
 ...ateFunctionReq.java => CreateFunctionPlan.java} |  14 +-
 ...reateRegionsReq.java => CreateRegionsPlan.java} |  14 +-
 ...tionReq.java => CreateSchemaPartitionPlan.java} |  14 +-
 ...eProcedureReq.java => DeleteProcedurePlan.java} |  14 +-
 ...eleteRegionsReq.java => DeleteRegionsPlan.java} |  14 +-
 ...geGroupReq.java => DeleteStorageGroupPlan.java} |  16 +-
 ...{DropFunctionReq.java => DropFunctionPlan.java} |  14 +-
 ...roupReq.java => PreDeleteStorageGroupPlan.java} |  14 +-
 ...rDataNodeReq.java => RegisterDataNodePlan.java} |  16 +-
 ...onfigNodeReq.java => RemoveConfigNodePlan.java} |  16 +-
 ...rReq.java => SetDataReplicationFactorPlan.java} |  14 +-
 ...eq.java => SetSchemaReplicationFactorPlan.java} |  14 +-
 ...orageGroupReq.java => SetStorageGroupPlan.java} |  16 +-
 .../write/{SetTTLReq.java => SetTTLPlan.java}      |  16 +-
 ...lReq.java => SetTimePartitionIntervalPlan.java} |  14 +-
 ...eProcedureReq.java => UpdateProcedurePlan.java} |  14 +-
 .../statemachine/PartitionRegionStateMachine.java  |  28 +-
 .../physical/UnknownPhysicalPlanTypeException.java |   4 +-
 .../confignode/manager/ClusterSchemaManager.java   |  59 ++--
 .../iotdb/confignode/manager/ConfigManager.java    | 118 +++----
 .../iotdb/confignode/manager/ConsensusManager.java |  22 +-
 .../apache/iotdb/confignode/manager/IManager.java  |  58 ++--
 .../iotdb/confignode/manager/NodeManager.java      |  38 +--
 .../iotdb/confignode/manager/PartitionManager.java |  42 +--
 .../confignode/manager/PermissionManager.java      |  24 +-
 .../iotdb/confignode/manager/UDFManager.java       |   8 +-
 .../iotdb/confignode/manager/load/LoadManager.java |  10 +-
 .../manager/load/balancer/RegionBalancer.java      |  14 +-
 .../iotdb/confignode/persistence/AuthorInfo.java   |  30 +-
 .../confignode/persistence/ClusterSchemaInfo.java  |  68 ++--
 .../iotdb/confignode/persistence/NodeInfo.java     |  44 +--
 .../confignode/persistence/ProcedureInfo.java      |  12 +-
 .../iotdb/confignode/persistence/UDFInfo.java      |   8 +-
 ...equestExecutor.java => ConfigPlanExecutor.java} | 134 ++++----
 .../persistence/partition/PartitionInfo.java       |  82 ++---
 .../partition/StorageGroupPartitionTable.java      |   8 +-
 .../procedure/env/ConfigNodeProcedureEnv.java      |  15 +-
 .../impl/DeleteStorageGroupProcedure.java          |   6 +-
 .../procedure/store/ConfigProcedureStore.java      |  16 +-
 .../thrift/ConfigNodeRPCServiceProcessor.java      |  83 ++---
 ...eTest.java => ConfigPhysicalPlanSerDeTest.java} | 367 +++++++++++----------
 .../confignode/persistence/AuthorInfoTest.java     | 180 +++++-----
 .../persistence/ClusterSchemaInfoTest.java         |  10 +-
 .../iotdb/confignode/persistence/NodeInfoTest.java |  14 +-
 .../confignode/persistence/PartitionInfoTest.java  |  52 +--
 61 files changed, 1105 insertions(+), 1053 deletions(-)

diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/client/AsyncDataNodeClientPool.java b/confignode/src/main/java/org/apache/iotdb/confignode/client/AsyncDataNodeClientPool.java
index aa5b679902..afc4940cfd 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/client/AsyncDataNodeClientPool.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/client/AsyncDataNodeClientPool.java
@@ -29,7 +29,7 @@ import org.apache.iotdb.confignode.client.handlers.CreateRegionHandler;
 import org.apache.iotdb.confignode.client.handlers.DataNodeHeartbeatHandler;
 import org.apache.iotdb.confignode.client.handlers.FlushHandler;
 import org.apache.iotdb.confignode.client.handlers.FunctionManagementHandler;
-import org.apache.iotdb.confignode.consensus.request.write.CreateRegionsReq;
+import org.apache.iotdb.confignode.consensus.request.write.CreateRegionsPlan;
 import org.apache.iotdb.mpp.rpc.thrift.TCreateDataRegionReq;
 import org.apache.iotdb.mpp.rpc.thrift.TCreateFunctionRequest;
 import org.apache.iotdb.mpp.rpc.thrift.TCreateSchemaRegionReq;
@@ -64,10 +64,10 @@ public class AsyncDataNodeClientPool {
   /**
    * Execute CreateRegionsReq asynchronously
    *
-   * @param createRegionGroupsReq CreateRegionsReq
+   * @param createRegionGroupsPlan CreateRegionsReq
    * @param ttlMap Map<StorageGroupName, TTL>
    */
-  public void createRegions(CreateRegionsReq createRegionGroupsReq, Map<String, Long> ttlMap) {
+  public void createRegions(CreateRegionsPlan createRegionGroupsPlan, Map<String, Long> ttlMap) {
 
     // Index of each Region
     int index = 0;
@@ -78,7 +78,7 @@ public class AsyncDataNodeClientPool {
 
     // Assign an independent index to each Region
     for (Map.Entry<String, List<TRegionReplicaSet>> entry :
-        createRegionGroupsReq.getRegionGroupMap().entrySet()) {
+        createRegionGroupsPlan.getRegionGroupMap().entrySet()) {
       for (TRegionReplicaSet regionReplicaSet : entry.getValue()) {
         regionNum += regionReplicaSet.getDataNodeLocationsSize();
         for (TDataNodeLocation dataNodeLocation : regionReplicaSet.getDataNodeLocations()) {
@@ -93,7 +93,7 @@ public class AsyncDataNodeClientPool {
     BitSet bitSet = new BitSet(regionNum);
     for (int retry = 0; retry < 3; retry++) {
       CountDownLatch latch = new CountDownLatch(regionNum - bitSet.cardinality());
-      createRegionGroupsReq
+      createRegionGroupsPlan
           .getRegionGroupMap()
           .forEach(
               (storageGroup, regionReplicaSets) -> {
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/ConfigRequest.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/ConfigPhysicalPlan.java
similarity index 72%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/ConfigRequest.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/ConfigPhysicalPlan.java
index 6918470bf0..d1b5a5c234 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/ConfigRequest.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/ConfigPhysicalPlan.java
@@ -18,35 +18,35 @@
  */
 package org.apache.iotdb.confignode.consensus.request;
 
-import org.apache.iotdb.confignode.consensus.request.auth.AuthorReq;
-import org.apache.iotdb.confignode.consensus.request.read.CountStorageGroupReq;
-import org.apache.iotdb.confignode.consensus.request.read.GetDataNodeInfoReq;
-import org.apache.iotdb.confignode.consensus.request.read.GetDataPartitionReq;
-import org.apache.iotdb.confignode.consensus.request.read.GetNodePathsPartitionReq;
-import org.apache.iotdb.confignode.consensus.request.read.GetOrCreateDataPartitionReq;
-import org.apache.iotdb.confignode.consensus.request.read.GetOrCreateSchemaPartitionReq;
-import org.apache.iotdb.confignode.consensus.request.read.GetRegionInfoListReq;
-import org.apache.iotdb.confignode.consensus.request.read.GetSchemaPartitionReq;
-import org.apache.iotdb.confignode.consensus.request.read.GetStorageGroupReq;
-import org.apache.iotdb.confignode.consensus.request.write.AdjustMaxRegionGroupCountReq;
-import org.apache.iotdb.confignode.consensus.request.write.ApplyConfigNodeReq;
-import org.apache.iotdb.confignode.consensus.request.write.CreateDataPartitionReq;
-import org.apache.iotdb.confignode.consensus.request.write.CreateFunctionReq;
-import org.apache.iotdb.confignode.consensus.request.write.CreateRegionsReq;
-import org.apache.iotdb.confignode.consensus.request.write.CreateSchemaPartitionReq;
-import org.apache.iotdb.confignode.consensus.request.write.DeleteProcedureReq;
-import org.apache.iotdb.confignode.consensus.request.write.DeleteRegionsReq;
-import org.apache.iotdb.confignode.consensus.request.write.DeleteStorageGroupReq;
-import org.apache.iotdb.confignode.consensus.request.write.DropFunctionReq;
-import org.apache.iotdb.confignode.consensus.request.write.PreDeleteStorageGroupReq;
-import org.apache.iotdb.confignode.consensus.request.write.RegisterDataNodeReq;
-import org.apache.iotdb.confignode.consensus.request.write.RemoveConfigNodeReq;
-import org.apache.iotdb.confignode.consensus.request.write.SetDataReplicationFactorReq;
-import org.apache.iotdb.confignode.consensus.request.write.SetSchemaReplicationFactorReq;
-import org.apache.iotdb.confignode.consensus.request.write.SetStorageGroupReq;
-import org.apache.iotdb.confignode.consensus.request.write.SetTTLReq;
-import org.apache.iotdb.confignode.consensus.request.write.SetTimePartitionIntervalReq;
-import org.apache.iotdb.confignode.consensus.request.write.UpdateProcedureReq;
+import org.apache.iotdb.confignode.consensus.request.auth.AuthorPlan;
+import org.apache.iotdb.confignode.consensus.request.read.CountStorageGroupPlan;
+import org.apache.iotdb.confignode.consensus.request.read.GetDataNodeInfoPlan;
+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.GetRegionInfoListPlan;
+import org.apache.iotdb.confignode.consensus.request.read.GetSchemaPartitionPlan;
+import org.apache.iotdb.confignode.consensus.request.read.GetStorageGroupPlan;
+import org.apache.iotdb.confignode.consensus.request.write.AdjustMaxRegionGroupCountPlan;
+import org.apache.iotdb.confignode.consensus.request.write.ApplyConfigNodePlan;
+import org.apache.iotdb.confignode.consensus.request.write.CreateDataPartitionPlan;
+import org.apache.iotdb.confignode.consensus.request.write.CreateFunctionPlan;
+import org.apache.iotdb.confignode.consensus.request.write.CreateRegionsPlan;
+import org.apache.iotdb.confignode.consensus.request.write.CreateSchemaPartitionPlan;
+import org.apache.iotdb.confignode.consensus.request.write.DeleteProcedurePlan;
+import org.apache.iotdb.confignode.consensus.request.write.DeleteRegionsPlan;
+import org.apache.iotdb.confignode.consensus.request.write.DeleteStorageGroupPlan;
+import org.apache.iotdb.confignode.consensus.request.write.DropFunctionPlan;
+import org.apache.iotdb.confignode.consensus.request.write.PreDeleteStorageGroupPlan;
+import org.apache.iotdb.confignode.consensus.request.write.RegisterDataNodePlan;
+import org.apache.iotdb.confignode.consensus.request.write.RemoveConfigNodePlan;
+import org.apache.iotdb.confignode.consensus.request.write.SetDataReplicationFactorPlan;
+import org.apache.iotdb.confignode.consensus.request.write.SetSchemaReplicationFactorPlan;
+import org.apache.iotdb.confignode.consensus.request.write.SetStorageGroupPlan;
+import org.apache.iotdb.confignode.consensus.request.write.SetTTLPlan;
+import org.apache.iotdb.confignode.consensus.request.write.SetTimePartitionIntervalPlan;
+import org.apache.iotdb.confignode.consensus.request.write.UpdateProcedurePlan;
 import org.apache.iotdb.consensus.common.request.IConsensusRequest;
 import org.apache.iotdb.db.exception.runtime.SerializationRunTimeException;
 import org.apache.iotdb.tsfile.utils.PublicBAOS;
@@ -58,17 +58,17 @@ import java.io.DataOutputStream;
 import java.io.IOException;
 import java.nio.ByteBuffer;
 
-public abstract class ConfigRequest implements IConsensusRequest {
+public abstract class ConfigPhysicalPlan implements IConsensusRequest {
 
-  private static final Logger LOGGER = LoggerFactory.getLogger(ConfigRequest.class);
+  private static final Logger LOGGER = LoggerFactory.getLogger(ConfigPhysicalPlan.class);
 
-  private final ConfigRequestType type;
+  private final ConfigPhysicalPlanType type;
 
-  public ConfigRequest(ConfigRequestType type) {
+  public ConfigPhysicalPlan(ConfigPhysicalPlanType type) {
     this.type = type;
   }
 
-  public ConfigRequestType getType() {
+  public ConfigPhysicalPlanType getType() {
     return this.type;
   }
 
@@ -90,79 +90,79 @@ public abstract class ConfigRequest implements IConsensusRequest {
 
   public static class Factory {
 
-    public static ConfigRequest create(ByteBuffer buffer) throws IOException {
+    public static ConfigPhysicalPlan create(ByteBuffer buffer) throws IOException {
       int typeNum = buffer.getInt();
-      if (typeNum >= ConfigRequestType.values().length) {
+      if (typeNum >= ConfigPhysicalPlanType.values().length) {
         throw new IOException("unrecognized log type " + typeNum);
       }
-      ConfigRequestType type = ConfigRequestType.values()[typeNum];
-      ConfigRequest req;
+      ConfigPhysicalPlanType type = ConfigPhysicalPlanType.values()[typeNum];
+      ConfigPhysicalPlan req;
       switch (type) {
         case RegisterDataNode:
-          req = new RegisterDataNodeReq();
+          req = new RegisterDataNodePlan();
           break;
         case GetDataNodeInfo:
-          req = new GetDataNodeInfoReq();
+          req = new GetDataNodeInfoPlan();
           break;
         case SetStorageGroup:
-          req = new SetStorageGroupReq();
+          req = new SetStorageGroupPlan();
           break;
         case SetTTL:
-          req = new SetTTLReq();
+          req = new SetTTLPlan();
           break;
         case SetSchemaReplicationFactor:
-          req = new SetSchemaReplicationFactorReq();
+          req = new SetSchemaReplicationFactorPlan();
           break;
         case SetDataReplicationFactor:
-          req = new SetDataReplicationFactorReq();
+          req = new SetDataReplicationFactorPlan();
           break;
         case SetTimePartitionInterval:
-          req = new SetTimePartitionIntervalReq();
+          req = new SetTimePartitionIntervalPlan();
           break;
         case AdjustMaxRegionGroupCount:
-          req = new AdjustMaxRegionGroupCountReq();
+          req = new AdjustMaxRegionGroupCountPlan();
           break;
         case CountStorageGroup:
-          req = new CountStorageGroupReq();
+          req = new CountStorageGroupPlan();
           break;
         case GetStorageGroup:
-          req = new GetStorageGroupReq();
+          req = new GetStorageGroupPlan();
           break;
         case CreateRegionGroups:
-          req = new CreateRegionsReq();
+          req = new CreateRegionsPlan();
           break;
         case DeleteRegions:
-          req = new DeleteRegionsReq();
+          req = new DeleteRegionsPlan();
           break;
         case GetSchemaPartition:
-          req = new GetSchemaPartitionReq();
+          req = new GetSchemaPartitionPlan();
           break;
         case CreateSchemaPartition:
-          req = new CreateSchemaPartitionReq();
+          req = new CreateSchemaPartitionPlan();
           break;
         case GetOrCreateSchemaPartition:
-          req = new GetOrCreateSchemaPartitionReq();
+          req = new GetOrCreateSchemaPartitionPlan();
           break;
         case GetDataPartition:
-          req = new GetDataPartitionReq();
+          req = new GetDataPartitionPlan();
           break;
         case CreateDataPartition:
-          req = new CreateDataPartitionReq();
+          req = new CreateDataPartitionPlan();
           break;
         case GetOrCreateDataPartition:
-          req = new GetOrCreateDataPartitionReq();
+          req = new GetOrCreateDataPartitionPlan();
           break;
         case DeleteProcedure:
-          req = new DeleteProcedureReq();
+          req = new DeleteProcedurePlan();
           break;
         case UpdateProcedure:
-          req = new UpdateProcedureReq();
+          req = new UpdateProcedurePlan();
           break;
         case PreDeleteStorageGroup:
-          req = new PreDeleteStorageGroupReq();
+          req = new PreDeleteStorageGroupPlan();
           break;
         case DeleteStorageGroup:
-          req = new DeleteStorageGroupReq();
+          req = new DeleteStorageGroupPlan();
           break;
         case ListUser:
         case ListRole:
@@ -181,25 +181,25 @@ public abstract class ConfigRequest implements IConsensusRequest {
         case RevokeRole:
         case RevokeRoleFromUser:
         case UpdateUser:
-          req = new AuthorReq(type);
+          req = new AuthorPlan(type);
           break;
         case ApplyConfigNode:
-          req = new ApplyConfigNodeReq();
+          req = new ApplyConfigNodePlan();
           break;
         case RemoveConfigNode:
-          req = new RemoveConfigNodeReq();
+          req = new RemoveConfigNodePlan();
           break;
         case CreateFunction:
-          req = new CreateFunctionReq();
+          req = new CreateFunctionPlan();
           break;
         case DropFunction:
-          req = new DropFunctionReq();
+          req = new DropFunctionPlan();
           break;
         case GetNodePathsPartition:
-          req = new GetNodePathsPartitionReq();
+          req = new GetNodePathsPartitionPlan();
           break;
         case GetRegionInfoList:
-          req = new GetRegionInfoListReq();
+          req = new GetRegionInfoListPlan();
           break;
         default:
           throw new IOException("unknown PhysicalPlan type: " + typeNum);
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/ConfigRequestType.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/ConfigPhysicalPlanType.java
similarity index 97%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/ConfigRequestType.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/ConfigPhysicalPlanType.java
index 8566e117a7..1475228a48 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/ConfigRequestType.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/ConfigPhysicalPlanType.java
@@ -18,7 +18,7 @@
  */
 package org.apache.iotdb.confignode.consensus.request;
 
-public enum ConfigRequestType {
+public enum ConfigPhysicalPlanType {
   RegisterDataNode,
   GetDataNodeInfo,
   SetStorageGroup,
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/auth/AuthorReq.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/auth/AuthorPlan.java
similarity index 77%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/auth/AuthorReq.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/auth/AuthorPlan.java
index 9892185655..754f1e00ce 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/auth/AuthorReq.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/auth/AuthorPlan.java
@@ -20,8 +20,8 @@ package org.apache.iotdb.confignode.consensus.request.auth;
 
 import org.apache.iotdb.commons.auth.AuthException;
 import org.apache.iotdb.commons.utils.BasicStructureSerDeUtil;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequest;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequestType;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlan;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlanType;
 
 import java.io.DataOutputStream;
 import java.io.IOException;
@@ -30,9 +30,9 @@ import java.util.HashSet;
 import java.util.Objects;
 import java.util.Set;
 
-public class AuthorReq extends ConfigRequest {
+public class AuthorPlan extends ConfigPhysicalPlan {
 
-  private ConfigRequestType authorType;
+  private ConfigPhysicalPlanType authorType;
   private String roleName;
   private String password;
   private String newPassword;
@@ -40,7 +40,7 @@ public class AuthorReq extends ConfigRequest {
   private String nodeName;
   private String userName;
 
-  public AuthorReq(ConfigRequestType type) {
+  public AuthorPlan(ConfigPhysicalPlanType type) {
     super(type);
     authorType = type;
   }
@@ -57,8 +57,8 @@ public class AuthorReq extends ConfigRequest {
    * @param nodeName node name in Path structure
    * @throws AuthException Authentication Exception
    */
-  public AuthorReq(
-      ConfigRequestType authorType,
+  public AuthorPlan(
+      ConfigPhysicalPlanType authorType,
       String userName,
       String roleName,
       String password,
@@ -76,11 +76,11 @@ public class AuthorReq extends ConfigRequest {
     this.nodeName = nodeName;
   }
 
-  public ConfigRequestType getAuthorType() {
+  public ConfigPhysicalPlanType getAuthorType() {
     return authorType;
   }
 
-  public void setAuthorType(ConfigRequestType authorType) {
+  public void setAuthorType(ConfigPhysicalPlanType authorType) {
     this.authorType = authorType;
   }
 
@@ -170,62 +170,62 @@ public class AuthorReq extends ConfigRequest {
     nodeName = BasicStructureSerDeUtil.readString(buffer);
   }
 
-  private int getPlanTypeOrdinal(ConfigRequestType configRequestType) {
+  private int getPlanTypeOrdinal(ConfigPhysicalPlanType configPhysicalPlanType) {
     int type;
-    switch (configRequestType) {
+    switch (configPhysicalPlanType) {
       case CreateUser:
-        type = ConfigRequestType.CreateUser.ordinal();
+        type = ConfigPhysicalPlanType.CreateUser.ordinal();
         break;
       case CreateRole:
-        type = ConfigRequestType.CreateRole.ordinal();
+        type = ConfigPhysicalPlanType.CreateRole.ordinal();
         break;
       case DropUser:
-        type = ConfigRequestType.DropUser.ordinal();
+        type = ConfigPhysicalPlanType.DropUser.ordinal();
         break;
       case DropRole:
-        type = ConfigRequestType.DropRole.ordinal();
+        type = ConfigPhysicalPlanType.DropRole.ordinal();
         break;
       case GrantRole:
-        type = ConfigRequestType.GrantRole.ordinal();
+        type = ConfigPhysicalPlanType.GrantRole.ordinal();
         break;
       case GrantUser:
-        type = ConfigRequestType.GrantUser.ordinal();
+        type = ConfigPhysicalPlanType.GrantUser.ordinal();
         break;
       case GrantRoleToUser:
-        type = ConfigRequestType.GrantRoleToUser.ordinal();
+        type = ConfigPhysicalPlanType.GrantRoleToUser.ordinal();
         break;
       case RevokeUser:
-        type = ConfigRequestType.RevokeUser.ordinal();
+        type = ConfigPhysicalPlanType.RevokeUser.ordinal();
         break;
       case RevokeRole:
-        type = ConfigRequestType.RevokeRole.ordinal();
+        type = ConfigPhysicalPlanType.RevokeRole.ordinal();
         break;
       case RevokeRoleFromUser:
-        type = ConfigRequestType.RevokeRoleFromUser.ordinal();
+        type = ConfigPhysicalPlanType.RevokeRoleFromUser.ordinal();
         break;
       case UpdateUser:
-        type = ConfigRequestType.UpdateUser.ordinal();
+        type = ConfigPhysicalPlanType.UpdateUser.ordinal();
         break;
       case ListUser:
-        type = ConfigRequestType.ListUser.ordinal();
+        type = ConfigPhysicalPlanType.ListUser.ordinal();
         break;
       case ListRole:
-        type = ConfigRequestType.ListRole.ordinal();
+        type = ConfigPhysicalPlanType.ListRole.ordinal();
         break;
       case ListUserPrivilege:
-        type = ConfigRequestType.ListUserPrivilege.ordinal();
+        type = ConfigPhysicalPlanType.ListUserPrivilege.ordinal();
         break;
       case ListRolePrivilege:
-        type = ConfigRequestType.ListRolePrivilege.ordinal();
+        type = ConfigPhysicalPlanType.ListRolePrivilege.ordinal();
         break;
       case ListUserRoles:
-        type = ConfigRequestType.ListUserRoles.ordinal();
+        type = ConfigPhysicalPlanType.ListUserRoles.ordinal();
         break;
       case ListRoleUsers:
-        type = ConfigRequestType.ListRoleUsers.ordinal();
+        type = ConfigPhysicalPlanType.ListRoleUsers.ordinal();
         break;
       default:
-        throw new IllegalArgumentException("Unknown operator: " + configRequestType);
+        throw new IllegalArgumentException("Unknown operator: " + configPhysicalPlanType);
     }
     return type;
   }
@@ -238,7 +238,7 @@ public class AuthorReq extends ConfigRequest {
     if (o == null || getClass() != o.getClass()) {
       return false;
     }
-    AuthorReq that = (AuthorReq) o;
+    AuthorPlan that = (AuthorPlan) o;
     return Objects.equals(authorType, that.authorType)
         && Objects.equals(userName, that.userName)
         && Objects.equals(roleName, that.roleName)
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/CountStorageGroupReq.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/CountStorageGroupPlan.java
similarity index 79%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/CountStorageGroupReq.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/CountStorageGroupPlan.java
index 11dbe35575..31d17bbf62 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/CountStorageGroupReq.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/CountStorageGroupPlan.java
@@ -19,8 +19,8 @@
 package org.apache.iotdb.confignode.consensus.request.read;
 
 import org.apache.iotdb.commons.utils.BasicStructureSerDeUtil;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequest;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequestType;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlan;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlanType;
 
 import java.io.DataOutputStream;
 import java.io.IOException;
@@ -28,24 +28,24 @@ import java.nio.ByteBuffer;
 import java.util.Arrays;
 import java.util.List;
 
-public class CountStorageGroupReq extends ConfigRequest {
+public class CountStorageGroupPlan extends ConfigPhysicalPlan {
 
   private String[] storageGroupPattern;
 
-  public CountStorageGroupReq() {
-    super(ConfigRequestType.CountStorageGroup);
+  public CountStorageGroupPlan() {
+    super(ConfigPhysicalPlanType.CountStorageGroup);
   }
 
-  public CountStorageGroupReq(ConfigRequestType type) {
+  public CountStorageGroupPlan(ConfigPhysicalPlanType type) {
     super(type);
   }
 
-  public CountStorageGroupReq(List<String> storageGroupPattern) {
+  public CountStorageGroupPlan(List<String> storageGroupPattern) {
     this();
     this.storageGroupPattern = storageGroupPattern.toArray(new String[0]);
   }
 
-  public CountStorageGroupReq(ConfigRequestType type, List<String> storageGroupPattern) {
+  public CountStorageGroupPlan(ConfigPhysicalPlanType type, List<String> storageGroupPattern) {
     super(type);
     this.storageGroupPattern = storageGroupPattern.toArray(new String[0]);
   }
@@ -77,7 +77,7 @@ public class CountStorageGroupReq extends ConfigRequest {
   public boolean equals(Object o) {
     if (this == o) return true;
     if (o == null || getClass() != o.getClass()) return false;
-    CountStorageGroupReq that = (CountStorageGroupReq) o;
+    CountStorageGroupPlan that = (CountStorageGroupPlan) o;
     return Arrays.equals(storageGroupPattern, that.storageGroupPattern);
   }
 
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetDataNodeInfoReq.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetDataNodeInfoPlan.java
similarity index 78%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetDataNodeInfoReq.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetDataNodeInfoPlan.java
index d48adf2135..a667a086e3 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetDataNodeInfoReq.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetDataNodeInfoPlan.java
@@ -18,8 +18,8 @@
  */
 package org.apache.iotdb.confignode.consensus.request.read;
 
-import org.apache.iotdb.confignode.consensus.request.ConfigRequest;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequestType;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlan;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlanType;
 
 import java.io.DataOutputStream;
 import java.io.IOException;
@@ -27,15 +27,15 @@ import java.nio.ByteBuffer;
 import java.util.Objects;
 
 /** Get DataNodeInfo by the specific DataNode's id. And return all when dataNodeID is set to -1. */
-public class GetDataNodeInfoReq extends ConfigRequest {
+public class GetDataNodeInfoPlan extends ConfigPhysicalPlan {
 
   private int dataNodeID;
 
-  public GetDataNodeInfoReq() {
-    super(ConfigRequestType.GetDataNodeInfo);
+  public GetDataNodeInfoPlan() {
+    super(ConfigPhysicalPlanType.GetDataNodeInfo);
   }
 
-  public GetDataNodeInfoReq(int dataNodeID) {
+  public GetDataNodeInfoPlan(int dataNodeID) {
     this();
     this.dataNodeID = dataNodeID;
   }
@@ -46,7 +46,7 @@ public class GetDataNodeInfoReq extends ConfigRequest {
 
   @Override
   protected void serializeImpl(DataOutputStream stream) throws IOException {
-    stream.writeInt(ConfigRequestType.GetDataNodeInfo.ordinal());
+    stream.writeInt(ConfigPhysicalPlanType.GetDataNodeInfo.ordinal());
     stream.writeInt(dataNodeID);
   }
 
@@ -59,7 +59,7 @@ public class GetDataNodeInfoReq extends ConfigRequest {
   public boolean equals(Object o) {
     if (this == o) return true;
     if (o == null || getClass() != o.getClass()) return false;
-    GetDataNodeInfoReq that = (GetDataNodeInfoReq) o;
+    GetDataNodeInfoPlan that = (GetDataNodeInfoPlan) o;
     return dataNodeID == that.dataNodeID;
   }
 
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetDataPartitionReq.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetDataPartitionPlan.java
similarity index 92%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetDataPartitionReq.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetDataPartitionPlan.java
index 293974b949..5564bb9cc7 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetDataPartitionReq.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetDataPartitionPlan.java
@@ -23,8 +23,8 @@ import org.apache.iotdb.common.rpc.thrift.TTimePartitionSlot;
 import org.apache.iotdb.commons.utils.BasicStructureSerDeUtil;
 import org.apache.iotdb.commons.utils.TestOnly;
 import org.apache.iotdb.commons.utils.ThriftCommonsSerDeUtils;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequest;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequestType;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlan;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlanType;
 import org.apache.iotdb.confignode.rpc.thrift.TDataPartitionReq;
 
 import java.io.DataOutputStream;
@@ -38,16 +38,16 @@ import java.util.Map.Entry;
 import java.util.Objects;
 
 /** Get or create DataPartition by the specific partitionSlotsMap. */
-public class GetDataPartitionReq extends ConfigRequest {
+public class GetDataPartitionPlan extends ConfigPhysicalPlan {
 
   private Map<String, Map<TSeriesPartitionSlot, List<TTimePartitionSlot>>> partitionSlotsMap;
 
-  public GetDataPartitionReq() {
-    super(ConfigRequestType.GetDataPartition);
+  public GetDataPartitionPlan() {
+    super(ConfigPhysicalPlanType.GetDataPartition);
   }
 
-  public GetDataPartitionReq(ConfigRequestType configRequestType) {
-    super(configRequestType);
+  public GetDataPartitionPlan(ConfigPhysicalPlanType configPhysicalPlanType) {
+    super(configPhysicalPlanType);
   }
 
   public Map<String, Map<TSeriesPartitionSlot, List<TTimePartitionSlot>>> getPartitionSlotsMap() {
@@ -142,7 +142,7 @@ public class GetDataPartitionReq extends ConfigRequest {
   public boolean equals(Object o) {
     if (this == o) return true;
     if (o == null || getClass() != o.getClass()) return false;
-    GetDataPartitionReq that = (GetDataPartitionReq) o;
+    GetDataPartitionPlan that = (GetDataPartitionPlan) o;
     return partitionSlotsMap.equals(that.partitionSlotsMap);
   }
 
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetNodePathsPartitionReq.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetNodePathsPartitionPlan.java
similarity index 84%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetNodePathsPartitionReq.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetNodePathsPartitionPlan.java
index 16246d13ed..88b7bf66c4 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetNodePathsPartitionReq.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetNodePathsPartitionPlan.java
@@ -20,8 +20,8 @@
 package org.apache.iotdb.confignode.consensus.request.read;
 
 import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequest;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequestType;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlan;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlanType;
 import org.apache.iotdb.db.metadata.path.PathDeserializeUtil;
 
 import java.io.DataOutputStream;
@@ -29,12 +29,12 @@ import java.io.IOException;
 import java.nio.ByteBuffer;
 import java.util.Objects;
 
-public class GetNodePathsPartitionReq extends ConfigRequest {
+public class GetNodePathsPartitionPlan extends ConfigPhysicalPlan {
   private PartialPath partialPath;
   private int level = -1;
 
-  public GetNodePathsPartitionReq() {
-    super(ConfigRequestType.GetNodePathsPartition);
+  public GetNodePathsPartitionPlan() {
+    super(ConfigPhysicalPlanType.GetNodePathsPartition);
   }
 
   public PartialPath getPartialPath() {
@@ -73,7 +73,7 @@ public class GetNodePathsPartitionReq extends ConfigRequest {
     if (o == null || getClass() != o.getClass()) {
       return false;
     }
-    GetNodePathsPartitionReq that = (GetNodePathsPartitionReq) o;
+    GetNodePathsPartitionPlan that = (GetNodePathsPartitionPlan) o;
     return level == that.level && Objects.equals(partialPath, that.partialPath);
   }
 
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetOrCreateDataPartitionReq.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetOrCreateDataPartitionPlan.java
similarity index 77%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetOrCreateDataPartitionReq.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetOrCreateDataPartitionPlan.java
index 936f474690..6d123af514 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetOrCreateDataPartitionReq.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetOrCreateDataPartitionPlan.java
@@ -18,11 +18,11 @@
  */
 package org.apache.iotdb.confignode.consensus.request.read;
 
-import org.apache.iotdb.confignode.consensus.request.ConfigRequestType;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlanType;
 
-public class GetOrCreateDataPartitionReq extends GetDataPartitionReq {
+public class GetOrCreateDataPartitionPlan extends GetDataPartitionPlan {
 
-  public GetOrCreateDataPartitionReq() {
-    super(ConfigRequestType.GetOrCreateDataPartition);
+  public GetOrCreateDataPartitionPlan() {
+    super(ConfigPhysicalPlanType.GetOrCreateDataPartition);
   }
 }
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetOrCreateSchemaPartitionReq.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetOrCreateSchemaPartitionPlan.java
similarity index 77%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetOrCreateSchemaPartitionReq.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetOrCreateSchemaPartitionPlan.java
index 31178a0fcd..f9e0b4dcf1 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetOrCreateSchemaPartitionReq.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetOrCreateSchemaPartitionPlan.java
@@ -18,11 +18,11 @@
  */
 package org.apache.iotdb.confignode.consensus.request.read;
 
-import org.apache.iotdb.confignode.consensus.request.ConfigRequestType;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlanType;
 
-public class GetOrCreateSchemaPartitionReq extends GetSchemaPartitionReq {
+public class GetOrCreateSchemaPartitionPlan extends GetSchemaPartitionPlan {
 
-  public GetOrCreateSchemaPartitionReq() {
-    super(ConfigRequestType.GetOrCreateSchemaPartition);
+  public GetOrCreateSchemaPartitionPlan() {
+    super(ConfigPhysicalPlanType.GetOrCreateSchemaPartition);
   }
 }
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetRegionInfoListReq.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetRegionInfoListPlan.java
similarity index 80%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetRegionInfoListReq.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetRegionInfoListPlan.java
index 3174a16ddc..d56edefc92 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetRegionInfoListReq.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetRegionInfoListPlan.java
@@ -20,24 +20,24 @@
 package org.apache.iotdb.confignode.consensus.request.read;
 
 import org.apache.iotdb.common.rpc.thrift.TConsensusGroupType;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequest;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequestType;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlan;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlanType;
 import org.apache.iotdb.tsfile.utils.ReadWriteIOUtils;
 
 import java.io.DataOutputStream;
 import java.io.IOException;
 import java.nio.ByteBuffer;
 
-public class GetRegionInfoListReq extends ConfigRequest {
+public class GetRegionInfoListPlan extends ConfigPhysicalPlan {
 
   private TConsensusGroupType regionType;
 
-  public GetRegionInfoListReq() {
-    super(ConfigRequestType.GetRegionInfoList);
+  public GetRegionInfoListPlan() {
+    super(ConfigPhysicalPlanType.GetRegionInfoList);
   }
 
-  public GetRegionInfoListReq(TConsensusGroupType regionType) {
-    super(ConfigRequestType.GetRegionInfoList);
+  public GetRegionInfoListPlan(TConsensusGroupType regionType) {
+    super(ConfigPhysicalPlanType.GetRegionInfoList);
     this.regionType = regionType;
   }
 
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetSchemaPartitionReq.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetSchemaPartitionPlan.java
similarity index 88%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetSchemaPartitionReq.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetSchemaPartitionPlan.java
index 0cedb15d19..bc52a4ff65 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetSchemaPartitionReq.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetSchemaPartitionPlan.java
@@ -21,8 +21,8 @@ package org.apache.iotdb.confignode.consensus.request.read;
 import org.apache.iotdb.common.rpc.thrift.TSeriesPartitionSlot;
 import org.apache.iotdb.commons.utils.BasicStructureSerDeUtil;
 import org.apache.iotdb.commons.utils.ThriftCommonsSerDeUtils;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequest;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequestType;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlan;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlanType;
 
 import java.io.DataOutputStream;
 import java.io.IOException;
@@ -35,19 +35,19 @@ import java.util.Map.Entry;
 import java.util.Objects;
 
 /** Get or create SchemaPartition by the specific partitionSlotsMap. */
-public class GetSchemaPartitionReq extends ConfigRequest {
+public class GetSchemaPartitionPlan extends ConfigPhysicalPlan {
 
   // Map<StorageGroup, List<SeriesPartitionSlot>>
   // Get all SchemaPartitions when the partitionSlotsMap is empty
   // Get all exists SchemaPartitions in one StorageGroup when the SeriesPartitionSlot is empty
   private Map<String, List<TSeriesPartitionSlot>> partitionSlotsMap;
 
-  public GetSchemaPartitionReq() {
-    super(ConfigRequestType.GetSchemaPartition);
+  public GetSchemaPartitionPlan() {
+    super(ConfigPhysicalPlanType.GetSchemaPartition);
   }
 
-  public GetSchemaPartitionReq(ConfigRequestType configRequestType) {
-    super(configRequestType);
+  public GetSchemaPartitionPlan(ConfigPhysicalPlanType configPhysicalPlanType) {
+    super(configPhysicalPlanType);
   }
 
   public void setPartitionSlotsMap(Map<String, List<TSeriesPartitionSlot>> partitionSlotsMap) {
@@ -94,7 +94,7 @@ public class GetSchemaPartitionReq extends ConfigRequest {
   public boolean equals(Object o) {
     if (this == o) return true;
     if (o == null || getClass() != o.getClass()) return false;
-    GetSchemaPartitionReq that = (GetSchemaPartitionReq) o;
+    GetSchemaPartitionPlan that = (GetSchemaPartitionPlan) o;
     return partitionSlotsMap.equals(that.partitionSlotsMap);
   }
 
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetStorageGroupReq.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetStorageGroupPlan.java
similarity index 70%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetStorageGroupReq.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetStorageGroupPlan.java
index 0af1c0bece..753c7092e7 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetStorageGroupReq.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetStorageGroupPlan.java
@@ -18,17 +18,17 @@
  */
 package org.apache.iotdb.confignode.consensus.request.read;
 
-import org.apache.iotdb.confignode.consensus.request.ConfigRequestType;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlanType;
 
 import java.util.List;
 
-public class GetStorageGroupReq extends CountStorageGroupReq {
+public class GetStorageGroupPlan extends CountStorageGroupPlan {
 
-  public GetStorageGroupReq() {
-    super(ConfigRequestType.GetStorageGroup);
+  public GetStorageGroupPlan() {
+    super(ConfigPhysicalPlanType.GetStorageGroup);
   }
 
-  public GetStorageGroupReq(List<String> storageGroupPathPattern) {
-    super(ConfigRequestType.GetStorageGroup, storageGroupPathPattern);
+  public GetStorageGroupPlan(List<String> storageGroupPathPattern) {
+    super(ConfigPhysicalPlanType.GetStorageGroup, storageGroupPathPattern);
   }
 }
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/AdjustMaxRegionGroupCountReq.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/AdjustMaxRegionGroupCountPlan.java
similarity index 85%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/AdjustMaxRegionGroupCountReq.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/AdjustMaxRegionGroupCountPlan.java
index d8c3b92010..85653036be 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/AdjustMaxRegionGroupCountReq.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/AdjustMaxRegionGroupCountPlan.java
@@ -18,8 +18,8 @@
  */
 package org.apache.iotdb.confignode.consensus.request.write;
 
-import org.apache.iotdb.confignode.consensus.request.ConfigRequest;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequestType;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlan;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlanType;
 import org.apache.iotdb.tsfile.utils.Pair;
 import org.apache.iotdb.tsfile.utils.ReadWriteIOUtils;
 
@@ -30,13 +30,13 @@ import java.util.HashMap;
 import java.util.Map;
 import java.util.Objects;
 
-public class AdjustMaxRegionGroupCountReq extends ConfigRequest {
+public class AdjustMaxRegionGroupCountPlan extends ConfigPhysicalPlan {
 
   // Map<StorageGroupName, Pair<maxSchemaRegionGroupCount, maxDataRegionGroupCount>>
   public final Map<String, Pair<Integer, Integer>> maxRegionGroupCountMap;
 
-  public AdjustMaxRegionGroupCountReq() {
-    super(ConfigRequestType.AdjustMaxRegionGroupCount);
+  public AdjustMaxRegionGroupCountPlan() {
+    super(ConfigPhysicalPlanType.AdjustMaxRegionGroupCount);
     this.maxRegionGroupCountMap = new HashMap<>();
   }
 
@@ -50,7 +50,7 @@ public class AdjustMaxRegionGroupCountReq extends ConfigRequest {
 
   @Override
   protected void serializeImpl(DataOutputStream stream) throws IOException {
-    ReadWriteIOUtils.write(ConfigRequestType.AdjustMaxRegionGroupCount.ordinal(), stream);
+    ReadWriteIOUtils.write(ConfigPhysicalPlanType.AdjustMaxRegionGroupCount.ordinal(), stream);
 
     ReadWriteIOUtils.write(maxRegionGroupCountMap.size(), stream);
     for (Map.Entry<String, Pair<Integer, Integer>> maxRegionGroupCountEntry :
@@ -78,7 +78,7 @@ public class AdjustMaxRegionGroupCountReq extends ConfigRequest {
   public boolean equals(Object o) {
     if (this == o) return true;
     if (o == null || getClass() != o.getClass()) return false;
-    AdjustMaxRegionGroupCountReq that = (AdjustMaxRegionGroupCountReq) o;
+    AdjustMaxRegionGroupCountPlan that = (AdjustMaxRegionGroupCountPlan) o;
     return maxRegionGroupCountMap.equals(that.maxRegionGroupCountMap);
   }
 
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/ApplyConfigNodeReq.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/ApplyConfigNodePlan.java
similarity index 80%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/ApplyConfigNodeReq.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/ApplyConfigNodePlan.java
index 00e55b6369..8fd2eeaace 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/ApplyConfigNodeReq.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/ApplyConfigNodePlan.java
@@ -20,8 +20,8 @@ package org.apache.iotdb.confignode.consensus.request.write;
 
 import org.apache.iotdb.common.rpc.thrift.TConfigNodeLocation;
 import org.apache.iotdb.commons.utils.ThriftConfigNodeSerDeUtils;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequest;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequestType;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlan;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlanType;
 import org.apache.iotdb.tsfile.utils.ReadWriteIOUtils;
 
 import java.io.DataOutputStream;
@@ -29,15 +29,15 @@ import java.io.IOException;
 import java.nio.ByteBuffer;
 import java.util.Objects;
 
-public class ApplyConfigNodeReq extends ConfigRequest {
+public class ApplyConfigNodePlan extends ConfigPhysicalPlan {
 
   private TConfigNodeLocation configNodeLocation;
 
-  public ApplyConfigNodeReq() {
-    super(ConfigRequestType.ApplyConfigNode);
+  public ApplyConfigNodePlan() {
+    super(ConfigPhysicalPlanType.ApplyConfigNode);
   }
 
-  public ApplyConfigNodeReq(TConfigNodeLocation configNodeLocation) {
+  public ApplyConfigNodePlan(TConfigNodeLocation configNodeLocation) {
     this();
     this.configNodeLocation = configNodeLocation;
   }
@@ -48,7 +48,7 @@ public class ApplyConfigNodeReq extends ConfigRequest {
 
   @Override
   protected void serializeImpl(DataOutputStream stream) throws IOException {
-    ReadWriteIOUtils.write(ConfigRequestType.ApplyConfigNode.ordinal(), stream);
+    ReadWriteIOUtils.write(ConfigPhysicalPlanType.ApplyConfigNode.ordinal(), stream);
 
     ThriftConfigNodeSerDeUtils.serializeTConfigNodeLocation(configNodeLocation, stream);
   }
@@ -62,7 +62,7 @@ public class ApplyConfigNodeReq extends ConfigRequest {
   public boolean equals(Object o) {
     if (this == o) return true;
     if (o == null || getClass() != o.getClass()) return false;
-    ApplyConfigNodeReq that = (ApplyConfigNodeReq) o;
+    ApplyConfigNodePlan that = (ApplyConfigNodePlan) o;
     return configNodeLocation.equals(that.configNodeLocation);
   }
 
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/CreateDataPartitionReq.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/CreateDataPartitionPlan.java
similarity index 87%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/CreateDataPartitionReq.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/CreateDataPartitionPlan.java
index 5ceb01f22b..7d277717b8 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/CreateDataPartitionReq.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/CreateDataPartitionPlan.java
@@ -20,8 +20,8 @@ package org.apache.iotdb.confignode.consensus.request.write;
 
 import org.apache.iotdb.commons.partition.DataPartitionTable;
 import org.apache.iotdb.commons.utils.BasicStructureSerDeUtil;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequest;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequestType;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlan;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlanType;
 
 import org.apache.thrift.TException;
 import org.apache.thrift.protocol.TBinaryProtocol;
@@ -36,12 +36,12 @@ import java.util.Map;
 import java.util.Objects;
 
 /** Create DataPartition by assignedDataPartition */
-public class CreateDataPartitionReq extends ConfigRequest {
+public class CreateDataPartitionPlan extends ConfigPhysicalPlan {
 
   private Map<String, DataPartitionTable> assignedDataPartition;
 
-  public CreateDataPartitionReq() {
-    super(ConfigRequestType.CreateDataPartition);
+  public CreateDataPartitionPlan() {
+    super(ConfigPhysicalPlanType.CreateDataPartition);
   }
 
   public Map<String, DataPartitionTable> getAssignedDataPartition() {
@@ -58,7 +58,7 @@ public class CreateDataPartitionReq extends ConfigRequest {
       TTransport transport = new TIOStreamTransport(stream);
       TBinaryProtocol protocol = new TBinaryProtocol(transport);
 
-      stream.writeInt(ConfigRequestType.CreateDataPartition.ordinal());
+      stream.writeInt(ConfigPhysicalPlanType.CreateDataPartition.ordinal());
 
       stream.writeInt(assignedDataPartition.size());
       for (Map.Entry<String, DataPartitionTable> dataPartitionTableEntry :
@@ -88,7 +88,7 @@ public class CreateDataPartitionReq extends ConfigRequest {
   public boolean equals(Object o) {
     if (this == o) return true;
     if (o == null || getClass() != o.getClass()) return false;
-    CreateDataPartitionReq that = (CreateDataPartitionReq) o;
+    CreateDataPartitionPlan that = (CreateDataPartitionPlan) o;
     return assignedDataPartition.equals(that.assignedDataPartition);
   }
 
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/CreateFunctionReq.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/CreateFunctionPlan.java
similarity index 83%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/CreateFunctionReq.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/CreateFunctionPlan.java
index 32f23a1878..ecf988df6c 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/CreateFunctionReq.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/CreateFunctionPlan.java
@@ -19,8 +19,8 @@
 
 package org.apache.iotdb.confignode.consensus.request.write;
 
-import org.apache.iotdb.confignode.consensus.request.ConfigRequest;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequestType;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlan;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlanType;
 import org.apache.iotdb.tsfile.utils.ReadWriteIOUtils;
 
 import java.io.DataOutputStream;
@@ -29,18 +29,18 @@ import java.nio.ByteBuffer;
 import java.util.ArrayList;
 import java.util.List;
 
-public class CreateFunctionReq extends ConfigRequest {
+public class CreateFunctionPlan extends ConfigPhysicalPlan {
 
   private String functionName;
   private String className;
   private List<String> uris;
 
-  public CreateFunctionReq() {
-    super(ConfigRequestType.CreateFunction);
+  public CreateFunctionPlan() {
+    super(ConfigPhysicalPlanType.CreateFunction);
   }
 
-  public CreateFunctionReq(String functionName, String className, List<String> uris) {
-    super(ConfigRequestType.CreateFunction);
+  public CreateFunctionPlan(String functionName, String className, List<String> uris) {
+    super(ConfigPhysicalPlanType.CreateFunction);
     this.functionName = functionName;
     this.className = className;
     this.uris = uris;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/CreateRegionsReq.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/CreateRegionsPlan.java
similarity index 88%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/CreateRegionsReq.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/CreateRegionsPlan.java
index 25abedc11f..ecbeec7ed2 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/CreateRegionsReq.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/CreateRegionsPlan.java
@@ -21,8 +21,8 @@ package org.apache.iotdb.confignode.consensus.request.write;
 import org.apache.iotdb.common.rpc.thrift.TRegionReplicaSet;
 import org.apache.iotdb.commons.utils.BasicStructureSerDeUtil;
 import org.apache.iotdb.commons.utils.ThriftCommonsSerDeUtils;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequest;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequestType;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlan;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlanType;
 
 import java.io.DataOutputStream;
 import java.io.IOException;
@@ -35,13 +35,13 @@ import java.util.Objects;
 import java.util.TreeMap;
 
 /** Create regions for specific StorageGroups */
-public class CreateRegionsReq extends ConfigRequest {
+public class CreateRegionsPlan extends ConfigPhysicalPlan {
 
   // Map<StorageGroupName, List<TRegionReplicaSet>>
   private final Map<String, List<TRegionReplicaSet>> regionGroupMap;
 
-  public CreateRegionsReq() {
-    super(ConfigRequestType.CreateRegionGroups);
+  public CreateRegionsPlan() {
+    super(ConfigPhysicalPlanType.CreateRegionGroups);
     this.regionGroupMap = new TreeMap<>();
   }
 
@@ -57,7 +57,7 @@ public class CreateRegionsReq extends ConfigRequest {
 
   @Override
   protected void serializeImpl(DataOutputStream stream) throws IOException {
-    stream.writeInt(ConfigRequestType.CreateRegionGroups.ordinal());
+    stream.writeInt(ConfigPhysicalPlanType.CreateRegionGroups.ordinal());
 
     stream.writeInt(regionGroupMap.size());
     for (Entry<String, List<TRegionReplicaSet>> entry : regionGroupMap.entrySet()) {
@@ -91,7 +91,7 @@ public class CreateRegionsReq extends ConfigRequest {
   public boolean equals(Object o) {
     if (this == o) return true;
     if (o == null || getClass() != o.getClass()) return false;
-    CreateRegionsReq that = (CreateRegionsReq) o;
+    CreateRegionsPlan that = (CreateRegionsPlan) o;
     return regionGroupMap.equals(that.regionGroupMap);
   }
 
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/CreateSchemaPartitionReq.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/CreateSchemaPartitionPlan.java
similarity index 87%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/CreateSchemaPartitionReq.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/CreateSchemaPartitionPlan.java
index f92f0de952..19d15d0c95 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/CreateSchemaPartitionReq.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/CreateSchemaPartitionPlan.java
@@ -20,8 +20,8 @@ package org.apache.iotdb.confignode.consensus.request.write;
 
 import org.apache.iotdb.commons.partition.SchemaPartitionTable;
 import org.apache.iotdb.commons.utils.BasicStructureSerDeUtil;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequest;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequestType;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlan;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlanType;
 
 import org.apache.thrift.TException;
 import org.apache.thrift.protocol.TBinaryProtocol;
@@ -36,13 +36,13 @@ import java.util.Map;
 import java.util.Objects;
 
 /** Create SchemaPartition by assignedSchemaPartition */
-public class CreateSchemaPartitionReq extends ConfigRequest {
+public class CreateSchemaPartitionPlan extends ConfigPhysicalPlan {
 
   // TODO: Replace this field whit new SchemaPartition
   private Map<String, SchemaPartitionTable> assignedSchemaPartition;
 
-  public CreateSchemaPartitionReq() {
-    super(ConfigRequestType.CreateSchemaPartition);
+  public CreateSchemaPartitionPlan() {
+    super(ConfigPhysicalPlanType.CreateSchemaPartition);
   }
 
   public Map<String, SchemaPartitionTable> getAssignedSchemaPartition() {
@@ -60,7 +60,7 @@ public class CreateSchemaPartitionReq extends ConfigRequest {
       TTransport transport = new TIOStreamTransport(stream);
       TBinaryProtocol protocol = new TBinaryProtocol(transport);
 
-      stream.writeInt(ConfigRequestType.CreateSchemaPartition.ordinal());
+      stream.writeInt(ConfigPhysicalPlanType.CreateSchemaPartition.ordinal());
 
       stream.writeInt(assignedSchemaPartition.size());
       for (Map.Entry<String, SchemaPartitionTable> schemaPartitionTableEntry :
@@ -90,7 +90,7 @@ public class CreateSchemaPartitionReq extends ConfigRequest {
   public boolean equals(Object o) {
     if (this == o) return true;
     if (o == null || getClass() != o.getClass()) return false;
-    CreateSchemaPartitionReq that = (CreateSchemaPartitionReq) o;
+    CreateSchemaPartitionPlan that = (CreateSchemaPartitionPlan) o;
     return assignedSchemaPartition.equals(that.assignedSchemaPartition);
   }
 
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/DeleteProcedureReq.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/DeleteProcedurePlan.java
similarity index 79%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/DeleteProcedureReq.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/DeleteProcedurePlan.java
index 5a160bb757..254760a1da 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/DeleteProcedureReq.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/DeleteProcedurePlan.java
@@ -19,15 +19,15 @@
 
 package org.apache.iotdb.confignode.consensus.request.write;
 
-import org.apache.iotdb.confignode.consensus.request.ConfigRequest;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequestType;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlan;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlanType;
 
 import java.io.DataOutputStream;
 import java.io.IOException;
 import java.nio.ByteBuffer;
 import java.util.Objects;
 
-public class DeleteProcedureReq extends ConfigRequest {
+public class DeleteProcedurePlan extends ConfigPhysicalPlan {
 
   private long procId;
 
@@ -39,13 +39,13 @@ public class DeleteProcedureReq extends ConfigRequest {
     this.procId = procId;
   }
 
-  public DeleteProcedureReq() {
-    super(ConfigRequestType.DeleteProcedure);
+  public DeleteProcedurePlan() {
+    super(ConfigPhysicalPlanType.DeleteProcedure);
   }
 
   @Override
   protected void serializeImpl(DataOutputStream stream) throws IOException {
-    stream.writeInt(ConfigRequestType.DeleteProcedure.ordinal());
+    stream.writeInt(ConfigPhysicalPlanType.DeleteProcedure.ordinal());
     stream.writeLong(procId);
   }
 
@@ -58,7 +58,7 @@ public class DeleteProcedureReq extends ConfigRequest {
   public boolean equals(Object o) {
     if (this == o) return true;
     if (o == null || getClass() != o.getClass()) return false;
-    DeleteProcedureReq that = (DeleteProcedureReq) o;
+    DeleteProcedurePlan that = (DeleteProcedurePlan) o;
     return procId == that.procId;
   }
 
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/DeleteRegionsReq.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/DeleteRegionsPlan.java
similarity index 88%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/DeleteRegionsReq.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/DeleteRegionsPlan.java
index ffe2e22a70..83a00bc58c 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/DeleteRegionsReq.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/DeleteRegionsPlan.java
@@ -21,8 +21,8 @@ package org.apache.iotdb.confignode.consensus.request.write;
 import org.apache.iotdb.common.rpc.thrift.TConsensusGroupId;
 import org.apache.iotdb.commons.utils.BasicStructureSerDeUtil;
 import org.apache.iotdb.commons.utils.ThriftCommonsSerDeUtils;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequest;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequestType;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlan;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlanType;
 
 import java.io.DataOutputStream;
 import java.io.IOException;
@@ -33,12 +33,12 @@ import java.util.List;
 import java.util.Map;
 import java.util.Objects;
 
-public class DeleteRegionsReq extends ConfigRequest {
+public class DeleteRegionsPlan extends ConfigPhysicalPlan {
 
   private final Map<String, List<TConsensusGroupId>> deleteRegionMap;
 
-  public DeleteRegionsReq() {
-    super(ConfigRequestType.DeleteRegions);
+  public DeleteRegionsPlan() {
+    super(ConfigPhysicalPlanType.DeleteRegions);
     this.deleteRegionMap = new HashMap<>();
   }
 
@@ -52,7 +52,7 @@ public class DeleteRegionsReq extends ConfigRequest {
 
   @Override
   protected void serializeImpl(DataOutputStream stream) throws IOException {
-    stream.writeInt(ConfigRequestType.DeleteRegions.ordinal());
+    stream.writeInt(ConfigPhysicalPlanType.DeleteRegions.ordinal());
 
     stream.writeInt(deleteRegionMap.size());
     for (Map.Entry<String, List<TConsensusGroupId>> consensusGroupIdsEntry :
@@ -82,7 +82,7 @@ public class DeleteRegionsReq extends ConfigRequest {
   public boolean equals(Object o) {
     if (this == o) return true;
     if (o == null || getClass() != o.getClass()) return false;
-    DeleteRegionsReq that = (DeleteRegionsReq) o;
+    DeleteRegionsPlan that = (DeleteRegionsPlan) o;
     return deleteRegionMap.equals(that.deleteRegionMap);
   }
 
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/DeleteStorageGroupReq.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/DeleteStorageGroupPlan.java
similarity index 77%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/DeleteStorageGroupReq.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/DeleteStorageGroupPlan.java
index 0baddb62bf..cc03eb5629 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/DeleteStorageGroupReq.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/DeleteStorageGroupPlan.java
@@ -19,23 +19,23 @@
 package org.apache.iotdb.confignode.consensus.request.write;
 
 import org.apache.iotdb.commons.utils.BasicStructureSerDeUtil;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequest;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequestType;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlan;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlanType;
 
 import java.io.DataOutputStream;
 import java.io.IOException;
 import java.nio.ByteBuffer;
 import java.util.Objects;
 
-public class DeleteStorageGroupReq extends ConfigRequest {
+public class DeleteStorageGroupPlan extends ConfigPhysicalPlan {
 
   private String name;
 
-  public DeleteStorageGroupReq() {
-    super(ConfigRequestType.DeleteStorageGroup);
+  public DeleteStorageGroupPlan() {
+    super(ConfigPhysicalPlanType.DeleteStorageGroup);
   }
 
-  public DeleteStorageGroupReq(String name) {
+  public DeleteStorageGroupPlan(String name) {
     this();
     this.name = name;
   }
@@ -46,7 +46,7 @@ public class DeleteStorageGroupReq extends ConfigRequest {
 
   @Override
   protected void serializeImpl(DataOutputStream stream) throws IOException {
-    stream.writeInt(ConfigRequestType.DeleteStorageGroup.ordinal());
+    stream.writeInt(ConfigPhysicalPlanType.DeleteStorageGroup.ordinal());
     BasicStructureSerDeUtil.write(name, stream);
   }
 
@@ -59,7 +59,7 @@ public class DeleteStorageGroupReq extends ConfigRequest {
   public boolean equals(Object o) {
     if (this == o) return true;
     if (o == null || getClass() != o.getClass()) return false;
-    DeleteStorageGroupReq that = (DeleteStorageGroupReq) o;
+    DeleteStorageGroupPlan that = (DeleteStorageGroupPlan) o;
     return name.equals(that.name);
   }
 
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/DropFunctionReq.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/DropFunctionPlan.java
similarity index 79%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/DropFunctionReq.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/DropFunctionPlan.java
index 192d395698..65be5315c4 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/DropFunctionReq.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/DropFunctionPlan.java
@@ -19,24 +19,24 @@
 
 package org.apache.iotdb.confignode.consensus.request.write;
 
-import org.apache.iotdb.confignode.consensus.request.ConfigRequest;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequestType;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlan;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlanType;
 import org.apache.iotdb.tsfile.utils.ReadWriteIOUtils;
 
 import java.io.DataOutputStream;
 import java.io.IOException;
 import java.nio.ByteBuffer;
 
-public class DropFunctionReq extends ConfigRequest {
+public class DropFunctionPlan extends ConfigPhysicalPlan {
 
   private String functionName;
 
-  public DropFunctionReq() {
-    super(ConfigRequestType.DropFunction);
+  public DropFunctionPlan() {
+    super(ConfigPhysicalPlanType.DropFunction);
   }
 
-  public DropFunctionReq(String functionName) {
-    super(ConfigRequestType.DropFunction);
+  public DropFunctionPlan(String functionName) {
+    super(ConfigPhysicalPlanType.DropFunction);
     this.functionName = functionName;
   }
 
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/PreDeleteStorageGroupReq.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/PreDeleteStorageGroupPlan.java
similarity index 82%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/PreDeleteStorageGroupReq.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/PreDeleteStorageGroupPlan.java
index e1dbe5609d..0bd91406f5 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/PreDeleteStorageGroupReq.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/PreDeleteStorageGroupPlan.java
@@ -20,22 +20,22 @@
 package org.apache.iotdb.confignode.consensus.request.write;
 
 import org.apache.iotdb.commons.utils.BasicStructureSerDeUtil;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequest;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequestType;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlan;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlanType;
 
 import java.io.DataOutputStream;
 import java.io.IOException;
 import java.nio.ByteBuffer;
 
-public class PreDeleteStorageGroupReq extends ConfigRequest {
+public class PreDeleteStorageGroupPlan extends ConfigPhysicalPlan {
   private String storageGroup;
   private PreDeleteType preDeleteType;
 
-  public PreDeleteStorageGroupReq() {
-    super(ConfigRequestType.PreDeleteStorageGroup);
+  public PreDeleteStorageGroupPlan() {
+    super(ConfigPhysicalPlanType.PreDeleteStorageGroup);
   }
 
-  public PreDeleteStorageGroupReq(String storageGroup, PreDeleteType preDeleteType) {
+  public PreDeleteStorageGroupPlan(String storageGroup, PreDeleteType preDeleteType) {
     this();
     this.storageGroup = storageGroup;
     this.preDeleteType = preDeleteType;
@@ -59,7 +59,7 @@ public class PreDeleteStorageGroupReq extends ConfigRequest {
 
   @Override
   protected void serializeImpl(DataOutputStream stream) throws IOException {
-    stream.writeInt(ConfigRequestType.PreDeleteStorageGroup.ordinal());
+    stream.writeInt(ConfigPhysicalPlanType.PreDeleteStorageGroup.ordinal());
     BasicStructureSerDeUtil.write(storageGroup, stream);
     stream.write(preDeleteType.getType());
   }
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/RegisterDataNodeReq.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/RegisterDataNodePlan.java
similarity index 78%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/RegisterDataNodeReq.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/RegisterDataNodePlan.java
index 9017e032b7..0e9bc9d1db 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/RegisterDataNodeReq.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/RegisterDataNodePlan.java
@@ -20,23 +20,23 @@ package org.apache.iotdb.confignode.consensus.request.write;
 
 import org.apache.iotdb.common.rpc.thrift.TDataNodeInfo;
 import org.apache.iotdb.commons.utils.ThriftCommonsSerDeUtils;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequest;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequestType;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlan;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlanType;
 
 import java.io.DataOutputStream;
 import java.io.IOException;
 import java.nio.ByteBuffer;
 import java.util.Objects;
 
-public class RegisterDataNodeReq extends ConfigRequest {
+public class RegisterDataNodePlan extends ConfigPhysicalPlan {
 
   private TDataNodeInfo info;
 
-  public RegisterDataNodeReq() {
-    super(ConfigRequestType.RegisterDataNode);
+  public RegisterDataNodePlan() {
+    super(ConfigPhysicalPlanType.RegisterDataNode);
   }
 
-  public RegisterDataNodeReq(TDataNodeInfo info) {
+  public RegisterDataNodePlan(TDataNodeInfo info) {
     this();
     this.info = info;
   }
@@ -47,7 +47,7 @@ public class RegisterDataNodeReq extends ConfigRequest {
 
   @Override
   protected void serializeImpl(DataOutputStream stream) throws IOException {
-    stream.writeInt(ConfigRequestType.RegisterDataNode.ordinal());
+    stream.writeInt(ConfigPhysicalPlanType.RegisterDataNode.ordinal());
     ThriftCommonsSerDeUtils.serializeTDataNodeInfo(info, stream);
   }
 
@@ -60,7 +60,7 @@ public class RegisterDataNodeReq extends ConfigRequest {
   public boolean equals(Object o) {
     if (this == o) return true;
     if (o == null || getClass() != o.getClass()) return false;
-    RegisterDataNodeReq that = (RegisterDataNodeReq) o;
+    RegisterDataNodePlan that = (RegisterDataNodePlan) o;
     return info.equals(that.info);
   }
 
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/RemoveConfigNodeReq.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/RemoveConfigNodePlan.java
similarity index 80%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/RemoveConfigNodeReq.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/RemoveConfigNodePlan.java
index dc5f5c6058..ff89540307 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/RemoveConfigNodeReq.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/RemoveConfigNodePlan.java
@@ -20,8 +20,8 @@ package org.apache.iotdb.confignode.consensus.request.write;
 
 import org.apache.iotdb.common.rpc.thrift.TConfigNodeLocation;
 import org.apache.iotdb.commons.utils.ThriftConfigNodeSerDeUtils;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequest;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequestType;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlan;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlanType;
 import org.apache.iotdb.tsfile.utils.ReadWriteIOUtils;
 
 import java.io.DataOutputStream;
@@ -29,15 +29,15 @@ import java.io.IOException;
 import java.nio.ByteBuffer;
 import java.util.Objects;
 
-public class RemoveConfigNodeReq extends ConfigRequest {
+public class RemoveConfigNodePlan extends ConfigPhysicalPlan {
 
   private TConfigNodeLocation configNodeLocation;
 
-  public RemoveConfigNodeReq() {
-    super(ConfigRequestType.RemoveConfigNode);
+  public RemoveConfigNodePlan() {
+    super(ConfigPhysicalPlanType.RemoveConfigNode);
   }
 
-  public RemoveConfigNodeReq(TConfigNodeLocation configNodeLocation) {
+  public RemoveConfigNodePlan(TConfigNodeLocation configNodeLocation) {
     this();
     this.configNodeLocation = configNodeLocation;
   }
@@ -48,7 +48,7 @@ public class RemoveConfigNodeReq extends ConfigRequest {
 
   @Override
   protected void serializeImpl(DataOutputStream stream) throws IOException {
-    ReadWriteIOUtils.write(ConfigRequestType.RemoveConfigNode.ordinal(), stream);
+    ReadWriteIOUtils.write(ConfigPhysicalPlanType.RemoveConfigNode.ordinal(), stream);
 
     ThriftConfigNodeSerDeUtils.serializeTConfigNodeLocation(configNodeLocation, stream);
   }
@@ -71,7 +71,7 @@ public class RemoveConfigNodeReq extends ConfigRequest {
     if (o == null || getClass() != o.getClass()) {
       return false;
     }
-    RemoveConfigNodeReq that = (RemoveConfigNodeReq) o;
+    RemoveConfigNodePlan that = (RemoveConfigNodePlan) o;
     return configNodeLocation.equals(that.configNodeLocation);
   }
 }
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/SetDataReplicationFactorReq.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/SetDataReplicationFactorPlan.java
similarity index 81%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/SetDataReplicationFactorReq.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/SetDataReplicationFactorPlan.java
index a5997a613b..bb732a234f 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/SetDataReplicationFactorReq.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/SetDataReplicationFactorPlan.java
@@ -19,25 +19,25 @@
 package org.apache.iotdb.confignode.consensus.request.write;
 
 import org.apache.iotdb.commons.utils.BasicStructureSerDeUtil;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequest;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequestType;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlan;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlanType;
 
 import java.io.DataOutputStream;
 import java.io.IOException;
 import java.nio.ByteBuffer;
 import java.util.Objects;
 
-public class SetDataReplicationFactorReq extends ConfigRequest {
+public class SetDataReplicationFactorPlan extends ConfigPhysicalPlan {
 
   private String storageGroup;
 
   private int dataReplicationFactor;
 
-  public SetDataReplicationFactorReq() {
-    super(ConfigRequestType.SetDataReplicationFactor);
+  public SetDataReplicationFactorPlan() {
+    super(ConfigPhysicalPlanType.SetDataReplicationFactor);
   }
 
-  public SetDataReplicationFactorReq(String storageGroup, int dataReplicationFactor) {
+  public SetDataReplicationFactorPlan(String storageGroup, int dataReplicationFactor) {
     this();
     this.storageGroup = storageGroup;
     this.dataReplicationFactor = dataReplicationFactor;
@@ -69,7 +69,7 @@ public class SetDataReplicationFactorReq extends ConfigRequest {
   public boolean equals(Object o) {
     if (this == o) return true;
     if (o == null || getClass() != o.getClass()) return false;
-    SetDataReplicationFactorReq that = (SetDataReplicationFactorReq) o;
+    SetDataReplicationFactorPlan that = (SetDataReplicationFactorPlan) o;
     return dataReplicationFactor == that.dataReplicationFactor
         && storageGroup.equals(that.storageGroup);
   }
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/SetSchemaReplicationFactorReq.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/SetSchemaReplicationFactorPlan.java
similarity index 81%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/SetSchemaReplicationFactorReq.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/SetSchemaReplicationFactorPlan.java
index c1910e8313..6d1daa0979 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/SetSchemaReplicationFactorReq.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/SetSchemaReplicationFactorPlan.java
@@ -19,25 +19,25 @@
 package org.apache.iotdb.confignode.consensus.request.write;
 
 import org.apache.iotdb.commons.utils.BasicStructureSerDeUtil;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequest;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequestType;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlan;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlanType;
 
 import java.io.DataOutputStream;
 import java.io.IOException;
 import java.nio.ByteBuffer;
 import java.util.Objects;
 
-public class SetSchemaReplicationFactorReq extends ConfigRequest {
+public class SetSchemaReplicationFactorPlan extends ConfigPhysicalPlan {
 
   private String storageGroup;
 
   private int schemaReplicationFactor;
 
-  public SetSchemaReplicationFactorReq() {
-    super(ConfigRequestType.SetSchemaReplicationFactor);
+  public SetSchemaReplicationFactorPlan() {
+    super(ConfigPhysicalPlanType.SetSchemaReplicationFactor);
   }
 
-  public SetSchemaReplicationFactorReq(String storageGroup, int schemaReplicationFactor) {
+  public SetSchemaReplicationFactorPlan(String storageGroup, int schemaReplicationFactor) {
     this();
     this.storageGroup = storageGroup;
     this.schemaReplicationFactor = schemaReplicationFactor;
@@ -69,7 +69,7 @@ public class SetSchemaReplicationFactorReq extends ConfigRequest {
   public boolean equals(Object o) {
     if (this == o) return true;
     if (o == null || getClass() != o.getClass()) return false;
-    SetSchemaReplicationFactorReq that = (SetSchemaReplicationFactorReq) o;
+    SetSchemaReplicationFactorPlan that = (SetSchemaReplicationFactorPlan) o;
     return schemaReplicationFactor == that.schemaReplicationFactor
         && storageGroup.equals(that.storageGroup);
   }
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/SetStorageGroupReq.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/SetStorageGroupPlan.java
similarity index 79%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/SetStorageGroupReq.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/SetStorageGroupPlan.java
index 8b0b554414..1d49871729 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/SetStorageGroupReq.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/SetStorageGroupPlan.java
@@ -19,8 +19,8 @@
 package org.apache.iotdb.confignode.consensus.request.write;
 
 import org.apache.iotdb.commons.utils.ThriftConfigNodeSerDeUtils;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequest;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequestType;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlan;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlanType;
 import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
 
 import java.io.DataOutputStream;
@@ -28,16 +28,16 @@ import java.io.IOException;
 import java.nio.ByteBuffer;
 import java.util.Objects;
 
-public class SetStorageGroupReq extends ConfigRequest {
+public class SetStorageGroupPlan extends ConfigPhysicalPlan {
 
   private TStorageGroupSchema schema;
 
-  public SetStorageGroupReq() {
-    super(ConfigRequestType.SetStorageGroup);
+  public SetStorageGroupPlan() {
+    super(ConfigPhysicalPlanType.SetStorageGroup);
     this.schema = new TStorageGroupSchema();
   }
 
-  public SetStorageGroupReq(TStorageGroupSchema schema) {
+  public SetStorageGroupPlan(TStorageGroupSchema schema) {
     this();
     this.schema = schema;
   }
@@ -48,7 +48,7 @@ public class SetStorageGroupReq extends ConfigRequest {
 
   @Override
   protected void serializeImpl(DataOutputStream stream) throws IOException {
-    stream.writeInt(ConfigRequestType.SetStorageGroup.ordinal());
+    stream.writeInt(ConfigPhysicalPlanType.SetStorageGroup.ordinal());
     ThriftConfigNodeSerDeUtils.serializeTStorageGroupSchema(schema, stream);
   }
 
@@ -61,7 +61,7 @@ public class SetStorageGroupReq extends ConfigRequest {
   public boolean equals(Object o) {
     if (this == o) return true;
     if (o == null || getClass() != o.getClass()) return false;
-    SetStorageGroupReq that = (SetStorageGroupReq) o;
+    SetStorageGroupPlan that = (SetStorageGroupPlan) o;
     return schema.equals(that.schema);
   }
 
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/SetTTLReq.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/SetTTLPlan.java
similarity index 81%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/SetTTLReq.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/SetTTLPlan.java
index cf632a8d1f..e49b3403a7 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/SetTTLReq.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/SetTTLPlan.java
@@ -19,25 +19,25 @@
 package org.apache.iotdb.confignode.consensus.request.write;
 
 import org.apache.iotdb.commons.utils.BasicStructureSerDeUtil;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequest;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequestType;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlan;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlanType;
 
 import java.io.DataOutputStream;
 import java.io.IOException;
 import java.nio.ByteBuffer;
 import java.util.Objects;
 
-public class SetTTLReq extends ConfigRequest {
+public class SetTTLPlan extends ConfigPhysicalPlan {
 
   private String storageGroup;
 
   private long TTL;
 
-  public SetTTLReq() {
-    super(ConfigRequestType.SetTTL);
+  public SetTTLPlan() {
+    super(ConfigPhysicalPlanType.SetTTL);
   }
 
-  public SetTTLReq(String storageGroup, long TTL) {
+  public SetTTLPlan(String storageGroup, long TTL) {
     this();
     this.storageGroup = storageGroup;
     this.TTL = TTL;
@@ -69,8 +69,8 @@ public class SetTTLReq extends ConfigRequest {
   public boolean equals(Object o) {
     if (this == o) return true;
     if (o == null || getClass() != o.getClass()) return false;
-    SetTTLReq setTTLReq = (SetTTLReq) o;
-    return TTL == setTTLReq.TTL && storageGroup.equals(setTTLReq.storageGroup);
+    SetTTLPlan setTTLPlan = (SetTTLPlan) o;
+    return TTL == setTTLPlan.TTL && storageGroup.equals(setTTLPlan.storageGroup);
   }
 
   @Override
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/SetTimePartitionIntervalReq.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/SetTimePartitionIntervalPlan.java
similarity index 81%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/SetTimePartitionIntervalReq.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/SetTimePartitionIntervalPlan.java
index 1394163bec..eebb01d5d8 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/SetTimePartitionIntervalReq.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/SetTimePartitionIntervalPlan.java
@@ -19,25 +19,25 @@
 package org.apache.iotdb.confignode.consensus.request.write;
 
 import org.apache.iotdb.commons.utils.BasicStructureSerDeUtil;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequest;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequestType;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlan;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlanType;
 
 import java.io.DataOutputStream;
 import java.io.IOException;
 import java.nio.ByteBuffer;
 import java.util.Objects;
 
-public class SetTimePartitionIntervalReq extends ConfigRequest {
+public class SetTimePartitionIntervalPlan extends ConfigPhysicalPlan {
 
   private String storageGroup;
 
   private long timePartitionInterval;
 
-  public SetTimePartitionIntervalReq() {
-    super(ConfigRequestType.SetTimePartitionInterval);
+  public SetTimePartitionIntervalPlan() {
+    super(ConfigPhysicalPlanType.SetTimePartitionInterval);
   }
 
-  public SetTimePartitionIntervalReq(String storageGroup, long timePartitionInterval) {
+  public SetTimePartitionIntervalPlan(String storageGroup, long timePartitionInterval) {
     this();
     this.storageGroup = storageGroup;
     this.timePartitionInterval = timePartitionInterval;
@@ -69,7 +69,7 @@ public class SetTimePartitionIntervalReq extends ConfigRequest {
   public boolean equals(Object o) {
     if (this == o) return true;
     if (o == null || getClass() != o.getClass()) return false;
-    SetTimePartitionIntervalReq that = (SetTimePartitionIntervalReq) o;
+    SetTimePartitionIntervalPlan that = (SetTimePartitionIntervalPlan) o;
     return timePartitionInterval == that.timePartitionInterval
         && storageGroup.equals(that.storageGroup);
   }
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/UpdateProcedureReq.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/UpdateProcedurePlan.java
similarity index 82%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/UpdateProcedureReq.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/UpdateProcedurePlan.java
index 66a74afe4e..6a15d99f5b 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/UpdateProcedureReq.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/UpdateProcedurePlan.java
@@ -19,8 +19,8 @@
 
 package org.apache.iotdb.confignode.consensus.request.write;
 
-import org.apache.iotdb.confignode.consensus.request.ConfigRequest;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequestType;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlan;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlanType;
 import org.apache.iotdb.confignode.procedure.Procedure;
 import org.apache.iotdb.confignode.procedure.store.ProcedureFactory;
 
@@ -29,7 +29,7 @@ import java.io.IOException;
 import java.nio.ByteBuffer;
 import java.util.Objects;
 
-public class UpdateProcedureReq extends ConfigRequest {
+public class UpdateProcedurePlan extends ConfigPhysicalPlan {
 
   private Procedure procedure;
 
@@ -41,13 +41,13 @@ public class UpdateProcedureReq extends ConfigRequest {
     this.procedure = procedure;
   }
 
-  public UpdateProcedureReq() {
-    super(ConfigRequestType.UpdateProcedure);
+  public UpdateProcedurePlan() {
+    super(ConfigPhysicalPlanType.UpdateProcedure);
   }
 
   @Override
   protected void serializeImpl(DataOutputStream stream) throws IOException {
-    stream.writeInt(ConfigRequestType.UpdateProcedure.ordinal());
+    stream.writeInt(ConfigPhysicalPlanType.UpdateProcedure.ordinal());
     if (procedure != null) {
       procedure.serialize(stream);
     }
@@ -63,7 +63,7 @@ public class UpdateProcedureReq extends ConfigRequest {
   public boolean equals(Object o) {
     if (this == o) return true;
     if (o == null || getClass() != o.getClass()) return false;
-    UpdateProcedureReq that = (UpdateProcedureReq) o;
+    UpdateProcedurePlan that = (UpdateProcedurePlan) o;
     return Objects.equals(procedure, that.procedure);
   }
 
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/statemachine/PartitionRegionStateMachine.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/statemachine/PartitionRegionStateMachine.java
index 398f4db1a2..4b53904626 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/statemachine/PartitionRegionStateMachine.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/statemachine/PartitionRegionStateMachine.java
@@ -23,10 +23,10 @@ import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.commons.auth.AuthException;
 import org.apache.iotdb.commons.consensus.ConsensusGroupId;
 import org.apache.iotdb.confignode.conf.ConfigNodeDescriptor;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequest;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlan;
 import org.apache.iotdb.confignode.exception.physical.UnknownPhysicalPlanTypeException;
 import org.apache.iotdb.confignode.manager.ConfigManager;
-import org.apache.iotdb.confignode.persistence.executor.ConfigRequestExecutor;
+import org.apache.iotdb.confignode.persistence.executor.ConfigPlanExecutor;
 import org.apache.iotdb.consensus.IStateMachine;
 import org.apache.iotdb.consensus.common.DataSet;
 import org.apache.iotdb.consensus.common.request.ByteBufferConsensusRequest;
@@ -43,11 +43,11 @@ import java.io.IOException;
 public class PartitionRegionStateMachine implements IStateMachine, IStateMachine.EventApi {
 
   private static final Logger LOGGER = LoggerFactory.getLogger(PartitionRegionStateMachine.class);
-  private final ConfigRequestExecutor executor;
+  private final ConfigPlanExecutor executor;
   private ConfigManager configManager;
   private final TEndPoint currentNode;
 
-  public PartitionRegionStateMachine(ConfigManager configManager, ConfigRequestExecutor executor) {
+  public PartitionRegionStateMachine(ConfigManager configManager, ConfigPlanExecutor executor) {
     this.executor = executor;
     this.configManager = configManager;
     this.currentNode =
@@ -66,16 +66,16 @@ public class PartitionRegionStateMachine implements IStateMachine, IStateMachine
 
   @Override
   public TSStatus write(IConsensusRequest request) {
-    ConfigRequest plan;
+    ConfigPhysicalPlan plan;
     if (request instanceof ByteBufferConsensusRequest) {
       try {
-        plan = ConfigRequest.Factory.create(request.serializeToByteBuffer());
+        plan = ConfigPhysicalPlan.Factory.create(request.serializeToByteBuffer());
       } catch (IOException e) {
         LOGGER.error("Deserialization error for write plan : {}", request, e);
         return new TSStatus(TSStatusCode.INTERNAL_SERVER_ERROR.getStatusCode());
       }
-    } else if (request instanceof ConfigRequest) {
-      plan = (ConfigRequest) request;
+    } else if (request instanceof ConfigPhysicalPlan) {
+      plan = (ConfigPhysicalPlan) request;
     } else {
       LOGGER.error("Unexpected write plan : {}", request);
       return new TSStatus(TSStatusCode.INTERNAL_SERVER_ERROR.getStatusCode());
@@ -84,7 +84,7 @@ public class PartitionRegionStateMachine implements IStateMachine, IStateMachine
   }
 
   /** Transmit PhysicalPlan to confignode.service.executor.PlanExecutor */
-  protected TSStatus write(ConfigRequest plan) {
+  protected TSStatus write(ConfigPhysicalPlan plan) {
     TSStatus result;
     try {
       result = executor.executeNonQueryPlan(plan);
@@ -97,16 +97,16 @@ public class PartitionRegionStateMachine implements IStateMachine, IStateMachine
 
   @Override
   public DataSet read(IConsensusRequest request) {
-    ConfigRequest plan;
+    ConfigPhysicalPlan plan;
     if (request instanceof ByteBufferConsensusRequest) {
       try {
-        plan = ConfigRequest.Factory.create(request.serializeToByteBuffer());
+        plan = ConfigPhysicalPlan.Factory.create(request.serializeToByteBuffer());
       } catch (IOException e) {
         LOGGER.error("Deserialization error for write plan : {}", request);
         return null;
       }
-    } else if (request instanceof ConfigRequest) {
-      plan = (ConfigRequest) request;
+    } else if (request instanceof ConfigPhysicalPlan) {
+      plan = (ConfigPhysicalPlan) request;
     } else {
       LOGGER.error("Unexpected read plan : {}", request);
       return null;
@@ -125,7 +125,7 @@ public class PartitionRegionStateMachine implements IStateMachine, IStateMachine
   }
 
   /** Transmit PhysicalPlan to confignode.service.executor.PlanExecutor */
-  protected DataSet read(ConfigRequest plan) {
+  protected DataSet read(ConfigPhysicalPlan plan) {
     DataSet result;
     try {
       result = executor.executeQueryPlan(plan);
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/exception/physical/UnknownPhysicalPlanTypeException.java b/confignode/src/main/java/org/apache/iotdb/confignode/exception/physical/UnknownPhysicalPlanTypeException.java
index e29bf3adad..75718bca39 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/exception/physical/UnknownPhysicalPlanTypeException.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/exception/physical/UnknownPhysicalPlanTypeException.java
@@ -18,12 +18,12 @@
  */
 package org.apache.iotdb.confignode.exception.physical;
 
-import org.apache.iotdb.confignode.consensus.request.ConfigRequestType;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlanType;
 import org.apache.iotdb.confignode.exception.ConfigNodeException;
 
 public class UnknownPhysicalPlanTypeException extends ConfigNodeException {
 
-  public UnknownPhysicalPlanTypeException(ConfigRequestType type) {
+  public UnknownPhysicalPlanTypeException(ConfigPhysicalPlanType type) {
     super(String.format("Unknown PhysicalPlanType: %d", type.ordinal()));
   }
 }
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/ClusterSchemaManager.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/ClusterSchemaManager.java
index 967fd9f4b5..9c9dd86546 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/ClusterSchemaManager.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/ClusterSchemaManager.java
@@ -23,15 +23,15 @@ import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.commons.exception.IllegalPathException;
 import org.apache.iotdb.commons.exception.MetadataException;
 import org.apache.iotdb.confignode.conf.ConfigNodeDescriptor;
-import org.apache.iotdb.confignode.consensus.request.read.CountStorageGroupReq;
-import org.apache.iotdb.confignode.consensus.request.read.GetStorageGroupReq;
-import org.apache.iotdb.confignode.consensus.request.write.AdjustMaxRegionGroupCountReq;
-import org.apache.iotdb.confignode.consensus.request.write.DeleteStorageGroupReq;
-import org.apache.iotdb.confignode.consensus.request.write.SetDataReplicationFactorReq;
-import org.apache.iotdb.confignode.consensus.request.write.SetSchemaReplicationFactorReq;
-import org.apache.iotdb.confignode.consensus.request.write.SetStorageGroupReq;
-import org.apache.iotdb.confignode.consensus.request.write.SetTTLReq;
-import org.apache.iotdb.confignode.consensus.request.write.SetTimePartitionIntervalReq;
+import org.apache.iotdb.confignode.consensus.request.read.CountStorageGroupPlan;
+import org.apache.iotdb.confignode.consensus.request.read.GetStorageGroupPlan;
+import org.apache.iotdb.confignode.consensus.request.write.AdjustMaxRegionGroupCountPlan;
+import org.apache.iotdb.confignode.consensus.request.write.DeleteStorageGroupPlan;
+import org.apache.iotdb.confignode.consensus.request.write.SetDataReplicationFactorPlan;
+import org.apache.iotdb.confignode.consensus.request.write.SetSchemaReplicationFactorPlan;
+import org.apache.iotdb.confignode.consensus.request.write.SetStorageGroupPlan;
+import org.apache.iotdb.confignode.consensus.request.write.SetTTLPlan;
+import org.apache.iotdb.confignode.consensus.request.write.SetTimePartitionIntervalPlan;
 import org.apache.iotdb.confignode.exception.StorageGroupNotExistsException;
 import org.apache.iotdb.confignode.persistence.ClusterSchemaInfo;
 import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
@@ -74,10 +74,10 @@ public class ClusterSchemaManager {
    *     the StorageGroup is already set. PERSISTENCE_FAILURE if fail to set StorageGroup in
    *     MTreeAboveSG.
    */
-  public TSStatus setStorageGroup(SetStorageGroupReq setStorageGroupReq) {
+  public TSStatus setStorageGroup(SetStorageGroupPlan setStorageGroupPlan) {
     TSStatus result;
     try {
-      clusterSchemaInfo.checkContainsStorageGroup(setStorageGroupReq.getSchema().getName());
+      clusterSchemaInfo.checkContainsStorageGroup(setStorageGroupPlan.getSchema().getName());
     } catch (MetadataException metadataException) {
       // Reject if StorageGroup already set
       if (metadataException instanceof IllegalPathException) {
@@ -90,7 +90,7 @@ public class ClusterSchemaManager {
     }
 
     // Cache StorageGroupSchema
-    result = getConsensusManager().write(setStorageGroupReq).getStatus();
+    result = getConsensusManager().write(setStorageGroupPlan).getStatus();
 
     // Adjust the maximum RegionGroup number of each StorageGroup
     adjustMaxRegionGroupCount();
@@ -98,10 +98,10 @@ public class ClusterSchemaManager {
     return result;
   }
 
-  public TSStatus deleteStorageGroup(DeleteStorageGroupReq deleteStorageGroupReq) {
+  public TSStatus deleteStorageGroup(DeleteStorageGroupPlan deleteStorageGroupPlan) {
     // Adjust the maximum RegionGroup number of each StorageGroup
     adjustMaxRegionGroupCount();
-    return getConsensusManager().write(deleteStorageGroupReq).getStatus();
+    return getConsensusManager().write(deleteStorageGroupPlan).getStatus();
   }
 
   /**
@@ -109,8 +109,8 @@ public class ClusterSchemaManager {
    *
    * @return CountStorageGroupResp
    */
-  public DataSet countMatchedStorageGroups(CountStorageGroupReq countStorageGroupReq) {
-    return getConsensusManager().read(countStorageGroupReq).getDataset();
+  public DataSet countMatchedStorageGroups(CountStorageGroupPlan countStorageGroupPlan) {
+    return getConsensusManager().read(countStorageGroupPlan).getDataset();
   }
 
   /**
@@ -118,31 +118,31 @@ public class ClusterSchemaManager {
    *
    * @return StorageGroupSchemaDataSet
    */
-  public DataSet getMatchedStorageGroupSchema(GetStorageGroupReq getStorageGroupReq) {
-    return getConsensusManager().read(getStorageGroupReq).getDataset();
+  public DataSet getMatchedStorageGroupSchema(GetStorageGroupPlan getStorageGroupPlan) {
+    return getConsensusManager().read(getStorageGroupPlan).getDataset();
   }
 
-  public TSStatus setTTL(SetTTLReq setTTLReq) {
+  public TSStatus setTTL(SetTTLPlan setTTLPlan) {
     // TODO: Inform DataNodes
-    return getConsensusManager().write(setTTLReq).getStatus();
+    return getConsensusManager().write(setTTLPlan).getStatus();
   }
 
   public TSStatus setSchemaReplicationFactor(
-      SetSchemaReplicationFactorReq setSchemaReplicationFactorReq) {
+      SetSchemaReplicationFactorPlan setSchemaReplicationFactorPlan) {
     // TODO: Inform DataNodes
-    return getConsensusManager().write(setSchemaReplicationFactorReq).getStatus();
+    return getConsensusManager().write(setSchemaReplicationFactorPlan).getStatus();
   }
 
   public TSStatus setDataReplicationFactor(
-      SetDataReplicationFactorReq setDataReplicationFactorReq) {
+      SetDataReplicationFactorPlan setDataReplicationFactorPlan) {
     // TODO: Inform DataNodes
-    return getConsensusManager().write(setDataReplicationFactorReq).getStatus();
+    return getConsensusManager().write(setDataReplicationFactorPlan).getStatus();
   }
 
   public TSStatus setTimePartitionInterval(
-      SetTimePartitionIntervalReq setTimePartitionIntervalReq) {
+      SetTimePartitionIntervalPlan setTimePartitionIntervalPlan) {
     // TODO: Inform DataNodes
-    return getConsensusManager().write(setTimePartitionIntervalReq).getStatus();
+    return getConsensusManager().write(setTimePartitionIntervalPlan).getStatus();
   }
 
   /**
@@ -157,7 +157,8 @@ public class ClusterSchemaManager {
     int totalCpuCoreNum = getNodeManager().getTotalCpuCoreCount();
     int storageGroupNum = storageGroupSchemaMap.size();
 
-    AdjustMaxRegionGroupCountReq adjustMaxRegionGroupCountReq = new AdjustMaxRegionGroupCountReq();
+    AdjustMaxRegionGroupCountPlan adjustMaxRegionGroupCountPlan =
+        new AdjustMaxRegionGroupCountPlan();
     for (TStorageGroupSchema storageGroupSchema : storageGroupSchemaMap.values()) {
       try {
         // Adjust maxSchemaRegionGroupCount.
@@ -195,14 +196,14 @@ public class ClusterSchemaManager {
                                 (storageGroupNum * storageGroupSchema.getDataReplicationFactor())),
                     allocatedDataRegionGroupCount));
 
-        adjustMaxRegionGroupCountReq.putEntry(
+        adjustMaxRegionGroupCountPlan.putEntry(
             storageGroupSchema.getName(),
             new Pair<>(maxSchemaRegionGroupCount, maxDataRegionGroupCount));
       } catch (StorageGroupNotExistsException e) {
         LOGGER.warn("Adjust maxRegionGroupCount failed because StorageGroup doesn't exist", e);
       }
     }
-    getConsensusManager().write(adjustMaxRegionGroupCountReq);
+    getConsensusManager().write(adjustMaxRegionGroupCountPlan);
   }
 
   // ======================================================
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 8e6cee3011..9b0aab00e4 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
@@ -34,23 +34,23 @@ import org.apache.iotdb.commons.utils.PathUtils;
 import org.apache.iotdb.commons.utils.StatusUtils;
 import org.apache.iotdb.confignode.conf.ConfigNodeConfig;
 import org.apache.iotdb.confignode.conf.ConfigNodeDescriptor;
-import org.apache.iotdb.confignode.consensus.request.auth.AuthorReq;
-import org.apache.iotdb.confignode.consensus.request.read.CountStorageGroupReq;
-import org.apache.iotdb.confignode.consensus.request.read.GetDataNodeInfoReq;
-import org.apache.iotdb.confignode.consensus.request.read.GetDataPartitionReq;
-import org.apache.iotdb.confignode.consensus.request.read.GetNodePathsPartitionReq;
-import org.apache.iotdb.confignode.consensus.request.read.GetOrCreateDataPartitionReq;
-import org.apache.iotdb.confignode.consensus.request.read.GetOrCreateSchemaPartitionReq;
-import org.apache.iotdb.confignode.consensus.request.read.GetRegionInfoListReq;
-import org.apache.iotdb.confignode.consensus.request.read.GetSchemaPartitionReq;
-import org.apache.iotdb.confignode.consensus.request.read.GetStorageGroupReq;
-import org.apache.iotdb.confignode.consensus.request.write.RegisterDataNodeReq;
-import org.apache.iotdb.confignode.consensus.request.write.RemoveConfigNodeReq;
-import org.apache.iotdb.confignode.consensus.request.write.SetDataReplicationFactorReq;
-import org.apache.iotdb.confignode.consensus.request.write.SetSchemaReplicationFactorReq;
-import org.apache.iotdb.confignode.consensus.request.write.SetStorageGroupReq;
-import org.apache.iotdb.confignode.consensus.request.write.SetTTLReq;
-import org.apache.iotdb.confignode.consensus.request.write.SetTimePartitionIntervalReq;
+import org.apache.iotdb.confignode.consensus.request.auth.AuthorPlan;
+import org.apache.iotdb.confignode.consensus.request.read.CountStorageGroupPlan;
+import org.apache.iotdb.confignode.consensus.request.read.GetDataNodeInfoPlan;
+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.GetRegionInfoListPlan;
+import org.apache.iotdb.confignode.consensus.request.read.GetSchemaPartitionPlan;
+import org.apache.iotdb.confignode.consensus.request.read.GetStorageGroupPlan;
+import org.apache.iotdb.confignode.consensus.request.write.RegisterDataNodePlan;
+import org.apache.iotdb.confignode.consensus.request.write.RemoveConfigNodePlan;
+import org.apache.iotdb.confignode.consensus.request.write.SetDataReplicationFactorPlan;
+import org.apache.iotdb.confignode.consensus.request.write.SetSchemaReplicationFactorPlan;
+import org.apache.iotdb.confignode.consensus.request.write.SetStorageGroupPlan;
+import org.apache.iotdb.confignode.consensus.request.write.SetTTLPlan;
+import org.apache.iotdb.confignode.consensus.request.write.SetTimePartitionIntervalPlan;
 import org.apache.iotdb.confignode.consensus.response.CountStorageGroupResp;
 import org.apache.iotdb.confignode.consensus.response.DataNodeConfigurationResp;
 import org.apache.iotdb.confignode.consensus.response.DataNodeInfosResp;
@@ -67,7 +67,7 @@ import org.apache.iotdb.confignode.persistence.ClusterSchemaInfo;
 import org.apache.iotdb.confignode.persistence.NodeInfo;
 import org.apache.iotdb.confignode.persistence.ProcedureInfo;
 import org.apache.iotdb.confignode.persistence.UDFInfo;
-import org.apache.iotdb.confignode.persistence.executor.ConfigRequestExecutor;
+import org.apache.iotdb.confignode.persistence.executor.ConfigPlanExecutor;
 import org.apache.iotdb.confignode.persistence.partition.PartitionInfo;
 import org.apache.iotdb.confignode.rpc.thrift.TClusterNodeInfos;
 import org.apache.iotdb.confignode.rpc.thrift.TConfigNodeRegisterReq;
@@ -136,8 +136,8 @@ public class ConfigManager implements IManager {
     UDFInfo udfInfo = new UDFInfo();
 
     // Build state machine and executor
-    ConfigRequestExecutor executor =
-        new ConfigRequestExecutor(
+    ConfigPlanExecutor executor =
+        new ConfigPlanExecutor(
             nodeInfo, clusterSchemaInfo, partitionInfo, authorInfo, procedureInfo, udfInfo);
     PartitionRegionStateMachine stateMachine = new PartitionRegionStateMachine(this, executor);
 
@@ -164,10 +164,10 @@ public class ConfigManager implements IManager {
   }
 
   @Override
-  public DataSet registerDataNode(RegisterDataNodeReq registerDataNodeReq) {
+  public DataSet registerDataNode(RegisterDataNodePlan registerDataNodePlan) {
     TSStatus status = confirmLeader();
     if (status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
-      return nodeManager.registerDataNode(registerDataNodeReq);
+      return nodeManager.registerDataNode(registerDataNodePlan);
     } else {
       DataNodeConfigurationResp dataSet = new DataNodeConfigurationResp();
       dataSet.setStatus(status);
@@ -177,10 +177,10 @@ public class ConfigManager implements IManager {
   }
 
   @Override
-  public DataSet getDataNodeInfo(GetDataNodeInfoReq getDataNodeInfoReq) {
+  public DataSet getDataNodeInfo(GetDataNodeInfoPlan getDataNodeInfoPlan) {
     TSStatus status = confirmLeader();
     if (status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
-      return nodeManager.getDataNodeInfo(getDataNodeInfoReq);
+      return nodeManager.getDataNodeInfo(getDataNodeInfoPlan);
     } else {
       DataNodeInfosResp dataSet = new DataNodeInfosResp();
       dataSet.setStatus(status);
@@ -211,10 +211,10 @@ public class ConfigManager implements IManager {
   }
 
   @Override
-  public TSStatus setTTL(SetTTLReq setTTLReq) {
+  public TSStatus setTTL(SetTTLPlan setTTLPlan) {
     TSStatus status = confirmLeader();
     if (status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
-      return clusterSchemaManager.setTTL(setTTLReq);
+      return clusterSchemaManager.setTTL(setTTLPlan);
     } else {
       return status;
     }
@@ -222,10 +222,10 @@ public class ConfigManager implements IManager {
 
   @Override
   public TSStatus setSchemaReplicationFactor(
-      SetSchemaReplicationFactorReq setSchemaReplicationFactorReq) {
+      SetSchemaReplicationFactorPlan setSchemaReplicationFactorPlan) {
     TSStatus status = confirmLeader();
     if (status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
-      return clusterSchemaManager.setSchemaReplicationFactor(setSchemaReplicationFactorReq);
+      return clusterSchemaManager.setSchemaReplicationFactor(setSchemaReplicationFactorPlan);
     } else {
       return status;
     }
@@ -233,10 +233,10 @@ public class ConfigManager implements IManager {
 
   @Override
   public TSStatus setDataReplicationFactor(
-      SetDataReplicationFactorReq setDataReplicationFactorReq) {
+      SetDataReplicationFactorPlan setDataReplicationFactorPlan) {
     TSStatus status = confirmLeader();
     if (status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
-      return clusterSchemaManager.setDataReplicationFactor(setDataReplicationFactorReq);
+      return clusterSchemaManager.setDataReplicationFactor(setDataReplicationFactorPlan);
     } else {
       return status;
     }
@@ -244,21 +244,21 @@ public class ConfigManager implements IManager {
 
   @Override
   public TSStatus setTimePartitionInterval(
-      SetTimePartitionIntervalReq setTimePartitionIntervalReq) {
+      SetTimePartitionIntervalPlan setTimePartitionIntervalPlan) {
     TSStatus status = confirmLeader();
     if (status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
-      return clusterSchemaManager.setTimePartitionInterval(setTimePartitionIntervalReq);
+      return clusterSchemaManager.setTimePartitionInterval(setTimePartitionIntervalPlan);
     } else {
       return status;
     }
   }
 
   @Override
-  public DataSet countMatchedStorageGroups(CountStorageGroupReq countStorageGroupReq) {
+  public DataSet countMatchedStorageGroups(CountStorageGroupPlan countStorageGroupPlan) {
     TSStatus status = confirmLeader();
     CountStorageGroupResp result = new CountStorageGroupResp();
     if (status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
-      return clusterSchemaManager.countMatchedStorageGroups(countStorageGroupReq);
+      return clusterSchemaManager.countMatchedStorageGroups(countStorageGroupPlan);
     } else {
       result.setStatus(status);
     }
@@ -266,7 +266,7 @@ public class ConfigManager implements IManager {
   }
 
   @Override
-  public DataSet getMatchedStorageGroupSchemas(GetStorageGroupReq getStorageGroupReq) {
+  public DataSet getMatchedStorageGroupSchemas(GetStorageGroupPlan getStorageGroupReq) {
     TSStatus status = confirmLeader();
     if (status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
       return clusterSchemaManager.getMatchedStorageGroupSchema(getStorageGroupReq);
@@ -278,10 +278,10 @@ public class ConfigManager implements IManager {
   }
 
   @Override
-  public TSStatus setStorageGroup(SetStorageGroupReq setStorageGroupReq) {
+  public TSStatus setStorageGroup(SetStorageGroupPlan setStorageGroupPlan) {
     TSStatus status = confirmLeader();
     if (status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
-      return clusterSchemaManager.setStorageGroup(setStorageGroupReq);
+      return clusterSchemaManager.setStorageGroup(setStorageGroupPlan);
     } else {
       return status;
     }
@@ -327,7 +327,7 @@ public class ConfigManager implements IManager {
   public TSchemaPartitionResp getSchemaPartition(PathPatternTree patternTree) {
     TSStatus status = confirmLeader();
     if (status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
-      GetSchemaPartitionReq getSchemaPartitionReq = new GetSchemaPartitionReq();
+      GetSchemaPartitionPlan getSchemaPartitionPlan = new GetSchemaPartitionPlan();
       Map<String, Set<TSeriesPartitionSlot>> partitionSlotsMap = new HashMap<>();
       List<PartialPath> relatedPaths = patternTree.getAllPathPatterns();
       List<String> allStorageGroups = getClusterSchemaManager().getStorageGroupNames();
@@ -363,12 +363,12 @@ public class ConfigManager implements IManager {
         return resp;
       }
 
-      getSchemaPartitionReq.setPartitionSlotsMap(
+      getSchemaPartitionPlan.setPartitionSlotsMap(
           partitionSlotsMap.entrySet().stream()
               .collect(Collectors.toMap(Map.Entry::getKey, e -> new ArrayList<>(e.getValue()))));
 
       SchemaPartitionResp resp =
-          (SchemaPartitionResp) partitionManager.getSchemaPartition(getSchemaPartitionReq);
+          (SchemaPartitionResp) partitionManager.getSchemaPartition(getSchemaPartitionPlan);
       TSchemaPartitionResp result =
           resp.convertToRpcSchemaPartitionResp(getLoadManager().genRealTimeRoutingPolicy());
 
@@ -391,8 +391,8 @@ public class ConfigManager implements IManager {
       List<String> devicePaths = patternTree.getAllDevicePatterns();
       List<String> storageGroups = getClusterSchemaManager().getStorageGroupNames();
 
-      GetOrCreateSchemaPartitionReq getOrCreateSchemaPartitionReq =
-          new GetOrCreateSchemaPartitionReq();
+      GetOrCreateSchemaPartitionPlan getOrCreateSchemaPartitionPlan =
+          new GetOrCreateSchemaPartitionPlan();
       Map<String, List<TSeriesPartitionSlot>> partitionSlotsMap = new HashMap<>();
       for (String devicePath : devicePaths) {
         if (!devicePath.contains("*")) {
@@ -407,11 +407,11 @@ public class ConfigManager implements IManager {
           }
         }
       }
-      getOrCreateSchemaPartitionReq.setPartitionSlotsMap(partitionSlotsMap);
+      getOrCreateSchemaPartitionPlan.setPartitionSlotsMap(partitionSlotsMap);
 
       SchemaPartitionResp resp =
           (SchemaPartitionResp)
-              partitionManager.getOrCreateSchemaPartition(getOrCreateSchemaPartitionReq);
+              partitionManager.getOrCreateSchemaPartition(getOrCreateSchemaPartitionPlan);
       TSchemaPartitionResp result =
           resp.convertToRpcSchemaPartitionResp(getLoadManager().genRealTimeRoutingPolicy());
 
@@ -431,14 +431,14 @@ public class ConfigManager implements IManager {
   public TSchemaNodeManagementResp getNodePathsPartition(PartialPath partialPath, Integer level) {
     TSStatus status = confirmLeader();
     if (status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
-      GetNodePathsPartitionReq getNodePathsPartitionReq = new GetNodePathsPartitionReq();
-      getNodePathsPartitionReq.setPartialPath(partialPath);
+      GetNodePathsPartitionPlan getNodePathsPartitionPlan = new GetNodePathsPartitionPlan();
+      getNodePathsPartitionPlan.setPartialPath(partialPath);
       if (null != level) {
-        getNodePathsPartitionReq.setLevel(level);
+        getNodePathsPartitionPlan.setLevel(level);
       }
       SchemaNodeManagementResp resp =
           (SchemaNodeManagementResp)
-              partitionManager.getNodePathsPartition(getNodePathsPartitionReq);
+              partitionManager.getNodePathsPartition(getNodePathsPartitionPlan);
       TSchemaNodeManagementResp result =
           resp.convertToRpcSchemaNodeManagementPartitionResp(
               getLoadManager().genRealTimeRoutingPolicy());
@@ -457,11 +457,11 @@ public class ConfigManager implements IManager {
   }
 
   @Override
-  public TDataPartitionResp getDataPartition(GetDataPartitionReq getDataPartitionReq) {
+  public TDataPartitionResp getDataPartition(GetDataPartitionPlan getDataPartitionPlan) {
     TSStatus status = confirmLeader();
     if (status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
       DataPartitionResp resp =
-          (DataPartitionResp) partitionManager.getDataPartition(getDataPartitionReq);
+          (DataPartitionResp) partitionManager.getDataPartition(getDataPartitionPlan);
 
       TDataPartitionResp result =
           resp.convertToTDataPartitionResp(getLoadManager().genRealTimeRoutingPolicy());
@@ -469,7 +469,7 @@ public class ConfigManager implements IManager {
       // TODO: Delete or hide this LOGGER before officially release.
       LOGGER.info(
           "GetDataPartition interface receive PartitionSlotsMap: {}, return TDataPartitionResp: {}",
-          getDataPartitionReq.getPartitionSlotsMap(),
+          getDataPartitionPlan.getPartitionSlotsMap(),
           result);
 
       return result;
@@ -480,7 +480,7 @@ public class ConfigManager implements IManager {
 
   @Override
   public TDataPartitionResp getOrCreateDataPartition(
-      GetOrCreateDataPartitionReq getOrCreateDataPartitionReq) {
+      GetOrCreateDataPartitionPlan getOrCreateDataPartitionReq) {
     TSStatus status = confirmLeader();
     if (status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
       DataPartitionResp resp =
@@ -547,20 +547,20 @@ public class ConfigManager implements IManager {
   }
 
   @Override
-  public TSStatus operatePermission(AuthorReq authorReq) {
+  public TSStatus operatePermission(AuthorPlan authorPlan) {
     TSStatus status = confirmLeader();
     if (status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
-      return permissionManager.operatePermission(authorReq);
+      return permissionManager.operatePermission(authorPlan);
     } else {
       return status;
     }
   }
 
   @Override
-  public DataSet queryPermission(AuthorReq authorReq) {
+  public DataSet queryPermission(AuthorPlan authorPlan) {
     TSStatus status = confirmLeader();
     if (status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
-      return permissionManager.queryPermission(authorReq);
+      return permissionManager.queryPermission(authorPlan);
     } else {
       PermissionInfoResp dataSet = new PermissionInfoResp();
       dataSet.setStatus(status);
@@ -696,10 +696,10 @@ public class ConfigManager implements IManager {
   }
 
   @Override
-  public TSStatus removeConfigNode(RemoveConfigNodeReq removeConfigNodeReq) {
+  public TSStatus removeConfigNode(RemoveConfigNodePlan removeConfigNodePlan) {
     TSStatus status = confirmLeader();
     if (status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
-      return nodeManager.removeConfigNode(removeConfigNodeReq);
+      return nodeManager.removeConfigNode(removeConfigNodePlan);
     } else {
       return status;
     }
@@ -735,7 +735,7 @@ public class ConfigManager implements IManager {
   }
 
   @Override
-  public DataSet showRegion(GetRegionInfoListReq getRegionsinfoReq) {
+  public DataSet showRegion(GetRegionInfoListPlan getRegionsinfoReq) {
     TSStatus status = confirmLeader();
     if (status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
       return partitionManager.getRegionInfoList(getRegionsinfoReq);
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConsensusManager.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConsensusManager.java
index 496c92172a..e210535f01 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConsensusManager.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConsensusManager.java
@@ -25,9 +25,9 @@ import org.apache.iotdb.commons.consensus.PartitionRegionId;
 import org.apache.iotdb.commons.utils.TestOnly;
 import org.apache.iotdb.confignode.conf.ConfigNodeConfig;
 import org.apache.iotdb.confignode.conf.ConfigNodeDescriptor;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequest;
-import org.apache.iotdb.confignode.consensus.request.write.ApplyConfigNodeReq;
-import org.apache.iotdb.confignode.consensus.request.write.RemoveConfigNodeReq;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlan;
+import org.apache.iotdb.confignode.consensus.request.write.ApplyConfigNodePlan;
+import org.apache.iotdb.confignode.consensus.request.write.RemoveConfigNodePlan;
 import org.apache.iotdb.confignode.consensus.statemachine.PartitionRegionStateMachine;
 import org.apache.iotdb.consensus.ConsensusFactory;
 import org.apache.iotdb.consensus.IConsensus;
@@ -118,44 +118,44 @@ public class ConsensusManager {
   /**
    * Apply new ConfigNode Peer into PartitionRegion
    *
-   * @param applyConfigNodeReq ApplyConfigNodeReq
+   * @param applyConfigNodePlan ApplyConfigNodeReq
    * @return True if successfully addPeer. False if another ConfigNode is being added to the
    *     PartitionRegion
    */
-  public boolean addConfigNodePeer(ApplyConfigNodeReq applyConfigNodeReq) {
+  public boolean addConfigNodePeer(ApplyConfigNodePlan applyConfigNodePlan) {
     return consensusImpl
         .addPeer(
             consensusGroupId,
             new Peer(
                 consensusGroupId,
-                applyConfigNodeReq.getConfigNodeLocation().getConsensusEndPoint()))
+                applyConfigNodePlan.getConfigNodeLocation().getConsensusEndPoint()))
         .isSuccess();
   }
 
   /**
    * Remove a ConfigNode Peer out of PartitionRegion
    *
-   * @param removeConfigNodeReq RemoveConfigNodeReq
+   * @param removeConfigNodePlan RemoveConfigNodeReq
    * @return True if successfully removePeer. False if another ConfigNode is being removed to the
    *     PartitionRegion
    */
-  public boolean removeConfigNodePeer(RemoveConfigNodeReq removeConfigNodeReq) {
+  public boolean removeConfigNodePeer(RemoveConfigNodePlan removeConfigNodePlan) {
     return consensusImpl
         .removePeer(
             consensusGroupId,
             new Peer(
                 consensusGroupId,
-                removeConfigNodeReq.getConfigNodeLocation().getConsensusEndPoint()))
+                removeConfigNodePlan.getConfigNodeLocation().getConsensusEndPoint()))
         .isSuccess();
   }
 
   /** Transmit PhysicalPlan to confignode.consensus.statemachine */
-  public ConsensusWriteResponse write(ConfigRequest req) {
+  public ConsensusWriteResponse write(ConfigPhysicalPlan req) {
     return consensusImpl.write(consensusGroupId, req);
   }
 
   /** Transmit PhysicalPlan to confignode.consensus.statemachine */
-  public ConsensusReadResponse read(ConfigRequest req) {
+  public ConsensusReadResponse read(ConfigPhysicalPlan req) {
     return consensusImpl.read(consensusGroupId, req);
   }
 
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 f6af3efe3d..85464ee875 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
@@ -22,20 +22,20 @@ import org.apache.iotdb.common.rpc.thrift.TConfigNodeLocation;
 import org.apache.iotdb.common.rpc.thrift.TFlushReq;
 import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.confignode.consensus.request.auth.AuthorReq;
-import org.apache.iotdb.confignode.consensus.request.read.CountStorageGroupReq;
-import org.apache.iotdb.confignode.consensus.request.read.GetDataNodeInfoReq;
-import org.apache.iotdb.confignode.consensus.request.read.GetDataPartitionReq;
-import org.apache.iotdb.confignode.consensus.request.read.GetOrCreateDataPartitionReq;
-import org.apache.iotdb.confignode.consensus.request.read.GetRegionInfoListReq;
-import org.apache.iotdb.confignode.consensus.request.read.GetStorageGroupReq;
-import org.apache.iotdb.confignode.consensus.request.write.RegisterDataNodeReq;
-import org.apache.iotdb.confignode.consensus.request.write.RemoveConfigNodeReq;
-import org.apache.iotdb.confignode.consensus.request.write.SetDataReplicationFactorReq;
-import org.apache.iotdb.confignode.consensus.request.write.SetSchemaReplicationFactorReq;
-import org.apache.iotdb.confignode.consensus.request.write.SetStorageGroupReq;
-import org.apache.iotdb.confignode.consensus.request.write.SetTTLReq;
-import org.apache.iotdb.confignode.consensus.request.write.SetTimePartitionIntervalReq;
+import org.apache.iotdb.confignode.consensus.request.auth.AuthorPlan;
+import org.apache.iotdb.confignode.consensus.request.read.CountStorageGroupPlan;
+import org.apache.iotdb.confignode.consensus.request.read.GetDataNodeInfoPlan;
+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.GetRegionInfoListPlan;
+import org.apache.iotdb.confignode.consensus.request.read.GetStorageGroupPlan;
+import org.apache.iotdb.confignode.consensus.request.write.RegisterDataNodePlan;
+import org.apache.iotdb.confignode.consensus.request.write.RemoveConfigNodePlan;
+import org.apache.iotdb.confignode.consensus.request.write.SetDataReplicationFactorPlan;
+import org.apache.iotdb.confignode.consensus.request.write.SetSchemaReplicationFactorPlan;
+import org.apache.iotdb.confignode.consensus.request.write.SetStorageGroupPlan;
+import org.apache.iotdb.confignode.consensus.request.write.SetTTLPlan;
+import org.apache.iotdb.confignode.consensus.request.write.SetTimePartitionIntervalPlan;
 import org.apache.iotdb.confignode.manager.load.LoadManager;
 import org.apache.iotdb.confignode.rpc.thrift.TClusterNodeInfos;
 import org.apache.iotdb.confignode.rpc.thrift.TConfigNodeRegisterReq;
@@ -109,45 +109,45 @@ public interface IManager {
    *
    * @return DataNodeConfigurationDataSet
    */
-  DataSet registerDataNode(RegisterDataNodeReq registerDataNodeReq);
+  DataSet registerDataNode(RegisterDataNodePlan registerDataNodePlan);
 
   /**
    * Get DataNode info
    *
    * @return DataNodesInfoDataSet
    */
-  DataSet getDataNodeInfo(GetDataNodeInfoReq getDataNodeInfoReq);
+  DataSet getDataNodeInfo(GetDataNodeInfoPlan getDataNodeInfoPlan);
 
   TClusterNodeInfos getAllClusterNodeInfos();
 
-  TSStatus setTTL(SetTTLReq configRequest);
+  TSStatus setTTL(SetTTLPlan configRequest);
 
-  TSStatus setSchemaReplicationFactor(SetSchemaReplicationFactorReq configRequest);
+  TSStatus setSchemaReplicationFactor(SetSchemaReplicationFactorPlan configPhysicalPlan);
 
-  TSStatus setDataReplicationFactor(SetDataReplicationFactorReq configRequest);
+  TSStatus setDataReplicationFactor(SetDataReplicationFactorPlan configPhysicalPlan);
 
-  TSStatus setTimePartitionInterval(SetTimePartitionIntervalReq configRequest);
+  TSStatus setTimePartitionInterval(SetTimePartitionIntervalPlan configPhysicalPlan);
 
   /**
    * Count StorageGroups
    *
    * @return The number of matched StorageGroups
    */
-  DataSet countMatchedStorageGroups(CountStorageGroupReq countStorageGroupReq);
+  DataSet countMatchedStorageGroups(CountStorageGroupPlan countStorageGroupPlan);
 
   /**
    * Get StorageGroupSchemas
    *
    * @return StorageGroupSchemaDataSet
    */
-  DataSet getMatchedStorageGroupSchemas(GetStorageGroupReq getOrCountStorageGroupReq);
+  DataSet getMatchedStorageGroupSchemas(GetStorageGroupPlan getOrCountStorageGroupPlan);
 
   /**
    * Set StorageGroup
    *
    * @return status
    */
-  TSStatus setStorageGroup(SetStorageGroupReq setStorageGroupReq);
+  TSStatus setStorageGroup(SetStorageGroupPlan setStorageGroupPlan);
 
   /**
    * Delete StorageGroups
@@ -183,7 +183,7 @@ public interface IManager {
    *
    * @return TDataPartitionResp
    */
-  TDataPartitionResp getDataPartition(GetDataPartitionReq getDataPartitionReq);
+  TDataPartitionResp getDataPartition(GetDataPartitionPlan getDataPartitionPlan);
 
   /**
    * Get or create DataPartition
@@ -191,21 +191,21 @@ public interface IManager {
    * @return TDataPartitionResp
    */
   TDataPartitionResp getOrCreateDataPartition(
-      GetOrCreateDataPartitionReq getOrCreateDataPartitionReq);
+      GetOrCreateDataPartitionPlan getOrCreateDataPartitionPlan);
 
   /**
    * Operate Permission
    *
    * @return status
    */
-  TSStatus operatePermission(AuthorReq authorReq);
+  TSStatus operatePermission(AuthorPlan authorPlan);
 
   /**
    * Query Permission
    *
    * @return PermissionInfoDataSet
    */
-  DataSet queryPermission(AuthorReq authorReq);
+  DataSet queryPermission(AuthorPlan authorPlan);
 
   /** login */
   TPermissionInfoResp login(String username, String password);
@@ -232,7 +232,7 @@ public interface IManager {
    *
    * @return status
    */
-  TSStatus removeConfigNode(RemoveConfigNodeReq removeConfigNodeReq);
+  TSStatus removeConfigNode(RemoveConfigNodePlan removeConfigNodePlan);
 
   TSStatus createFunction(String udfName, String className, List<String> uris);
 
@@ -243,5 +243,5 @@ public interface IManager {
   void addMetrics();
 
   /** Show (data/schema) regions */
-  DataSet showRegion(GetRegionInfoListReq getRegionsinfoReq);
+  DataSet showRegion(GetRegionInfoListPlan getRegionInfoListPlan);
 }
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/NodeManager.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/NodeManager.java
index ea644481ba..4e5dd71a71 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/NodeManager.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/NodeManager.java
@@ -27,10 +27,10 @@ import org.apache.iotdb.commons.consensus.ConsensusGroupId;
 import org.apache.iotdb.confignode.client.AsyncDataNodeClientPool;
 import org.apache.iotdb.confignode.client.handlers.FlushHandler;
 import org.apache.iotdb.confignode.conf.ConfigNodeDescriptor;
-import org.apache.iotdb.confignode.consensus.request.read.GetDataNodeInfoReq;
-import org.apache.iotdb.confignode.consensus.request.write.ApplyConfigNodeReq;
-import org.apache.iotdb.confignode.consensus.request.write.RegisterDataNodeReq;
-import org.apache.iotdb.confignode.consensus.request.write.RemoveConfigNodeReq;
+import org.apache.iotdb.confignode.consensus.request.read.GetDataNodeInfoPlan;
+import org.apache.iotdb.confignode.consensus.request.write.ApplyConfigNodePlan;
+import org.apache.iotdb.confignode.consensus.request.write.RegisterDataNodePlan;
+import org.apache.iotdb.confignode.consensus.request.write.RemoveConfigNodePlan;
 import org.apache.iotdb.confignode.consensus.response.DataNodeConfigurationResp;
 import org.apache.iotdb.confignode.consensus.response.DataNodeInfosResp;
 import org.apache.iotdb.confignode.persistence.NodeInfo;
@@ -95,7 +95,7 @@ public class NodeManager {
    * @return DataNodeConfigurationDataSet. The TSStatus will be set to SUCCESS_STATUS when register
    *     success, and DATANODE_ALREADY_REGISTERED when the DataNode is already exist.
    */
-  public DataSet registerDataNode(RegisterDataNodeReq req) {
+  public DataSet registerDataNode(RegisterDataNodePlan req) {
     DataNodeConfigurationResp dataSet = new DataNodeConfigurationResp();
 
     if (nodeInfo.isOnlineDataNode(req.getInfo().getLocation())) {
@@ -129,7 +129,7 @@ public class NodeManager {
    * @return The specific DataNode's info or all DataNode info if dataNodeId in
    *     QueryDataNodeInfoPlan is -1
    */
-  public DataNodeInfosResp getDataNodeInfo(GetDataNodeInfoReq req) {
+  public DataNodeInfosResp getDataNodeInfo(GetDataNodeInfoPlan req) {
     return (DataNodeInfosResp) getConsensusManager().read(req).getDataset();
   }
 
@@ -181,11 +181,11 @@ public class NodeManager {
     return resp;
   }
 
-  public TSStatus applyConfigNode(ApplyConfigNodeReq applyConfigNodeReq) {
-    if (getConsensusManager().addConfigNodePeer(applyConfigNodeReq)) {
+  public TSStatus applyConfigNode(ApplyConfigNodePlan applyConfigNodePlan) {
+    if (getConsensusManager().addConfigNodePeer(applyConfigNodePlan)) {
       // Generate new ConfigNode's index
-      applyConfigNodeReq.getConfigNodeLocation().setConfigNodeId(nodeInfo.generateNextNodeId());
-      return getConsensusManager().write(applyConfigNodeReq).getStatus();
+      applyConfigNodePlan.getConfigNodeLocation().setConfigNodeId(nodeInfo.generateNextNodeId());
+      return getConsensusManager().write(applyConfigNodePlan).getStatus();
     } else {
       return new TSStatus(TSStatusCode.APPLY_CONFIGNODE_FAILED.getStatusCode())
           .setMessage("Apply ConfigNode failed because there is another ConfigNode being applied.");
@@ -196,7 +196,7 @@ public class NodeManager {
     nodeInfo.addMetrics();
   }
 
-  public TSStatus removeConfigNode(RemoveConfigNodeReq removeConfigNodeReq) {
+  public TSStatus removeConfigNode(RemoveConfigNodePlan removeConfigNodePlan) {
     if (removeConfigNodeLock.tryLock()) {
       try {
         // Check ConfigNodes number
@@ -207,7 +207,7 @@ public class NodeManager {
         }
 
         // Check whether the onlineConfigNodes contain the ConfigNode to be removed.
-        if (!getOnlineConfigNodes().contains(removeConfigNodeReq.getConfigNodeLocation())) {
+        if (!getOnlineConfigNodes().contains(removeConfigNodePlan.getConfigNodeLocation())) {
           return new TSStatus(TSStatusCode.REMOVE_CONFIGNODE_FAILED.getStatusCode())
               .setMessage(
                   "Remove ConfigNode failed because the ConfigNode not in current Cluster.");
@@ -222,18 +222,18 @@ public class NodeManager {
         }
         if (leader
             .getInternalEndPoint()
-            .equals(removeConfigNodeReq.getConfigNodeLocation().getInternalEndPoint())) {
+            .equals(removeConfigNodePlan.getConfigNodeLocation().getInternalEndPoint())) {
           // transfer leader
-          return transferLeader(removeConfigNodeReq, getConsensusManager().getConsensusGroupId());
+          return transferLeader(removeConfigNodePlan, getConsensusManager().getConsensusGroupId());
         }
 
         // Execute removePeer
-        if (getConsensusManager().removeConfigNodePeer(removeConfigNodeReq)) {
+        if (getConsensusManager().removeConfigNodePeer(removeConfigNodePlan)) {
           configManager
               .getLoadManager()
               .removeNodeHeartbeatHandCache(
-                  removeConfigNodeReq.getConfigNodeLocation().getConfigNodeId());
-          return getConsensusManager().write(removeConfigNodeReq).getStatus();
+                  removeConfigNodePlan.getConfigNodeLocation().getConfigNodeId());
+          return getConsensusManager().write(removeConfigNodePlan).getStatus();
         } else {
           return new TSStatus(TSStatusCode.REMOVE_CONFIGNODE_FAILED.getStatusCode())
               .setMessage(
@@ -249,10 +249,10 @@ public class NodeManager {
   }
 
   private TSStatus transferLeader(
-      RemoveConfigNodeReq removeConfigNodeReq, ConsensusGroupId groupId) {
+      RemoveConfigNodePlan removeConfigNodePlan, ConsensusGroupId groupId) {
     TConfigNodeLocation newLeader =
         getOnlineConfigNodes().stream()
-            .filter(e -> !e.equals(removeConfigNodeReq.getConfigNodeLocation()))
+            .filter(e -> !e.equals(removeConfigNodePlan.getConfigNodeLocation()))
             .findAny()
             .get();
     ConsensusGenericResponse resp =
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/PartitionManager.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/PartitionManager.java
index c3868cccc0..a6a1df64b2 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/PartitionManager.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/PartitionManager.java
@@ -32,15 +32,15 @@ import org.apache.iotdb.commons.partition.executor.SeriesPartitionExecutor;
 import org.apache.iotdb.confignode.client.SyncDataNodeClientPool;
 import org.apache.iotdb.confignode.conf.ConfigNodeConfig;
 import org.apache.iotdb.confignode.conf.ConfigNodeDescriptor;
-import org.apache.iotdb.confignode.consensus.request.read.GetDataPartitionReq;
-import org.apache.iotdb.confignode.consensus.request.read.GetNodePathsPartitionReq;
-import org.apache.iotdb.confignode.consensus.request.read.GetOrCreateDataPartitionReq;
-import org.apache.iotdb.confignode.consensus.request.read.GetOrCreateSchemaPartitionReq;
-import org.apache.iotdb.confignode.consensus.request.read.GetRegionInfoListReq;
-import org.apache.iotdb.confignode.consensus.request.read.GetSchemaPartitionReq;
-import org.apache.iotdb.confignode.consensus.request.write.CreateDataPartitionReq;
-import org.apache.iotdb.confignode.consensus.request.write.CreateSchemaPartitionReq;
-import org.apache.iotdb.confignode.consensus.request.write.PreDeleteStorageGroupReq;
+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.GetRegionInfoListPlan;
+import org.apache.iotdb.confignode.consensus.request.read.GetSchemaPartitionPlan;
+import org.apache.iotdb.confignode.consensus.request.write.CreateDataPartitionPlan;
+import org.apache.iotdb.confignode.consensus.request.write.CreateSchemaPartitionPlan;
+import org.apache.iotdb.confignode.consensus.request.write.PreDeleteStorageGroupPlan;
 import org.apache.iotdb.confignode.consensus.response.DataPartitionResp;
 import org.apache.iotdb.confignode.consensus.response.SchemaNodeManagementResp;
 import org.apache.iotdb.confignode.consensus.response.SchemaPartitionResp;
@@ -112,7 +112,7 @@ public class PartitionManager {
    * @param req SchemaPartitionPlan with partitionSlotsMap
    * @return SchemaPartitionDataSet that contains only existing SchemaPartition
    */
-  public DataSet getSchemaPartition(GetSchemaPartitionReq req) {
+  public DataSet getSchemaPartition(GetSchemaPartitionPlan req) {
     return getConsensusManager().read(req).getDataset();
   }
 
@@ -123,7 +123,7 @@ public class PartitionManager {
    *     List<TimePartitionSlot>>>
    * @return DataPartitionDataSet that contains only existing DataPartition
    */
-  public DataSet getDataPartition(GetDataPartitionReq req) {
+  public DataSet getDataPartition(GetDataPartitionPlan req) {
     return getConsensusManager().read(req).getDataset();
   }
 
@@ -136,7 +136,7 @@ public class PartitionManager {
    *     if waiting other threads to create Regions for too long. STORAGE_GROUP_NOT_EXIST if some
    *     StorageGroup doesn't exist.
    */
-  public DataSet getOrCreateSchemaPartition(GetOrCreateSchemaPartitionReq req) {
+  public DataSet getOrCreateSchemaPartition(GetOrCreateSchemaPartitionPlan req) {
     // After all the SchemaPartitions are allocated,
     // all the read requests about SchemaPartitionTable are parallel.
     SchemaPartitionResp resp = (SchemaPartitionResp) getSchemaPartition(req);
@@ -169,7 +169,7 @@ public class PartitionManager {
         Map<String, SchemaPartitionTable> assignedSchemaPartition =
             getLoadManager().allocateSchemaPartition(unassignedSchemaPartitionSlots);
         // Cache allocating result
-        CreateSchemaPartitionReq createPlan = new CreateSchemaPartitionReq();
+        CreateSchemaPartitionPlan createPlan = new CreateSchemaPartitionPlan();
         createPlan.setAssignedSchemaPartition(assignedSchemaPartition);
         getConsensusManager().write(createPlan);
       }
@@ -192,7 +192,7 @@ public class PartitionManager {
    *     if waiting other threads to create Regions for too long. STORAGE_GROUP_NOT_EXIST if some
    *     StorageGroup doesn't exist.
    */
-  public DataSet getOrCreateDataPartition(GetOrCreateDataPartitionReq req) {
+  public DataSet getOrCreateDataPartition(GetOrCreateDataPartitionPlan req) {
     // After all the SchemaPartitions are allocated,
     // all the read requests about SchemaPartitionTable are parallel.
     DataPartitionResp resp = (DataPartitionResp) getDataPartition(req);
@@ -226,7 +226,7 @@ public class PartitionManager {
         Map<String, DataPartitionTable> assignedDataPartition =
             getLoadManager().allocateDataPartition(unassignedDataPartitionSlots);
         // Cache allocating result
-        CreateDataPartitionReq createPlan = new CreateDataPartitionReq();
+        CreateDataPartitionPlan createPlan = new CreateDataPartitionPlan();
         createPlan.setAssignedDataPartition(assignedDataPartition);
         getConsensusManager().write(createPlan);
       }
@@ -475,7 +475,7 @@ public class PartitionManager {
    * @return SchemaNodeManagementPartitionDataSet that contains only existing matched
    *     SchemaPartition and matched child paths aboveMtree
    */
-  public DataSet getNodePathsPartition(GetNodePathsPartitionReq physicalPlan) {
+  public DataSet getNodePathsPartition(GetNodePathsPartitionPlan physicalPlan) {
     SchemaNodeManagementResp schemaNodeManagementResp;
     ConsensusReadResponse consensusReadResponse = getConsensusManager().read(physicalPlan);
     schemaNodeManagementResp = (SchemaNodeManagementResp) consensusReadResponse.getDataset();
@@ -483,10 +483,10 @@ public class PartitionManager {
   }
 
   public void preDeleteStorageGroup(
-      String storageGroup, PreDeleteStorageGroupReq.PreDeleteType preDeleteType) {
-    final PreDeleteStorageGroupReq preDeleteStorageGroupReq =
-        new PreDeleteStorageGroupReq(storageGroup, preDeleteType);
-    getConsensusManager().write(preDeleteStorageGroupReq);
+      String storageGroup, PreDeleteStorageGroupPlan.PreDeleteType preDeleteType) {
+    final PreDeleteStorageGroupPlan preDeleteStorageGroupPlan =
+        new PreDeleteStorageGroupPlan(storageGroup, preDeleteType);
+    getConsensusManager().write(preDeleteStorageGroupPlan);
   }
 
   /**
@@ -521,7 +521,7 @@ public class PartitionManager {
     return executor.getSeriesPartitionSlot(devicePath);
   }
 
-  public DataSet getRegionInfoList(GetRegionInfoListReq req) {
+  public DataSet getRegionInfoList(GetRegionInfoListPlan req) {
     return getConsensusManager().read(req).getDataset();
   }
 
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/PermissionManager.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/PermissionManager.java
index 0d682a570f..b90118b35a 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/PermissionManager.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/PermissionManager.java
@@ -22,8 +22,8 @@ package org.apache.iotdb.confignode.manager;
 import org.apache.iotdb.common.rpc.thrift.TDataNodeInfo;
 import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.confignode.client.SyncDataNodeClientPool;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequestType;
-import org.apache.iotdb.confignode.consensus.request.auth.AuthorReq;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlanType;
+import org.apache.iotdb.confignode.consensus.request.auth.AuthorPlan;
 import org.apache.iotdb.confignode.consensus.response.PermissionInfoResp;
 import org.apache.iotdb.confignode.persistence.AuthorInfo;
 import org.apache.iotdb.confignode.rpc.thrift.TPermissionInfoResp;
@@ -52,19 +52,19 @@ public class PermissionManager {
   /**
    * write permission
    *
-   * @param authorReq AuthorReq
+   * @param authorPlan AuthorReq
    * @return TSStatus
    */
-  public TSStatus operatePermission(AuthorReq authorReq) {
+  public TSStatus operatePermission(AuthorPlan authorPlan) {
     TSStatus tsStatus;
     // If the permissions change, clear the cache content affected by the operation
-    if (authorReq.getAuthorType() == ConfigRequestType.CreateUser
-        || authorReq.getAuthorType() == ConfigRequestType.CreateRole) {
-      tsStatus = getConsensusManager().write(authorReq).getStatus();
+    if (authorPlan.getAuthorType() == ConfigPhysicalPlanType.CreateUser
+        || authorPlan.getAuthorType() == ConfigPhysicalPlanType.CreateRole) {
+      tsStatus = getConsensusManager().write(authorPlan).getStatus();
     } else {
-      tsStatus = invalidateCache(authorReq.getUserName(), authorReq.getRoleName());
+      tsStatus = invalidateCache(authorPlan.getUserName(), authorPlan.getRoleName());
       if (tsStatus.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
-        tsStatus = getConsensusManager().write(authorReq).getStatus();
+        tsStatus = getConsensusManager().write(authorPlan).getStatus();
       }
     }
     return tsStatus;
@@ -73,11 +73,11 @@ public class PermissionManager {
   /**
    * Query for permissions
    *
-   * @param authorReq AuthorReq
+   * @param authorPlan AuthorReq
    * @return PermissionInfoResp
    */
-  public PermissionInfoResp queryPermission(AuthorReq authorReq) {
-    return (PermissionInfoResp) getConsensusManager().read(authorReq).getDataset();
+  public PermissionInfoResp queryPermission(AuthorPlan authorPlan) {
+    return (PermissionInfoResp) getConsensusManager().read(authorPlan).getDataset();
   }
 
   private ConsensusManager getConsensusManager() {
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/UDFManager.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/UDFManager.java
index 8e55db7208..18c4098c00 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/UDFManager.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/UDFManager.java
@@ -24,8 +24,8 @@ import org.apache.iotdb.common.rpc.thrift.TEndPoint;
 import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.confignode.client.AsyncDataNodeClientPool;
 import org.apache.iotdb.confignode.client.handlers.FunctionManagementHandler;
-import org.apache.iotdb.confignode.consensus.request.write.CreateFunctionReq;
-import org.apache.iotdb.confignode.consensus.request.write.DropFunctionReq;
+import org.apache.iotdb.confignode.consensus.request.write.CreateFunctionPlan;
+import org.apache.iotdb.confignode.consensus.request.write.DropFunctionPlan;
 import org.apache.iotdb.confignode.persistence.UDFInfo;
 import org.apache.iotdb.mpp.rpc.thrift.TCreateFunctionRequest;
 import org.apache.iotdb.mpp.rpc.thrift.TDropFunctionRequest;
@@ -59,7 +59,7 @@ public class UDFManager {
       final TSStatus configNodeStatus =
           configManager
               .getConsensusManager()
-              .write(new CreateFunctionReq(functionName, className, uris))
+              .write(new CreateFunctionPlan(functionName, className, uris))
               .getStatus();
       if (configNodeStatus.getCode() != TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
         return configNodeStatus;
@@ -112,7 +112,7 @@ public class UDFManager {
     try {
       final List<TSStatus> nodeResponseList = dropFunctionOnDataNodes(functionName);
       final TSStatus configNodeStatus =
-          configManager.getConsensusManager().write(new DropFunctionReq(functionName)).getStatus();
+          configManager.getConsensusManager().write(new DropFunctionPlan(functionName)).getStatus();
       nodeResponseList.add(configNodeStatus);
       return RpcUtils.squashResponseStatusList(nodeResponseList);
     } catch (Exception e) {
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 198085009e..bd886256b6 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
@@ -34,7 +34,7 @@ import org.apache.iotdb.confignode.client.AsyncDataNodeClientPool;
 import org.apache.iotdb.confignode.client.handlers.ConfigNodeHeartbeatHandler;
 import org.apache.iotdb.confignode.client.handlers.DataNodeHeartbeatHandler;
 import org.apache.iotdb.confignode.conf.ConfigNodeDescriptor;
-import org.apache.iotdb.confignode.consensus.request.write.CreateRegionsReq;
+import org.apache.iotdb.confignode.consensus.request.write.CreateRegionsPlan;
 import org.apache.iotdb.confignode.exception.NotEnoughDataNodeException;
 import org.apache.iotdb.confignode.exception.StorageGroupNotExistsException;
 import org.apache.iotdb.confignode.manager.ClusterSchemaManager;
@@ -109,20 +109,20 @@ public class LoadManager {
   public void doRegionCreation(
       Map<String, Integer> allotmentMap, TConsensusGroupType consensusGroupType)
       throws NotEnoughDataNodeException, StorageGroupNotExistsException {
-    CreateRegionsReq createRegionGroupsReq =
+    CreateRegionsPlan createRegionGroupsPlan =
         regionBalancer.genRegionsAllocationPlan(allotmentMap, consensusGroupType);
 
     // TODO: Use procedure to protect the following process
     // Create Regions on DataNodes
     Map<String, Long> ttlMap = new HashMap<>();
-    for (String storageGroup : createRegionGroupsReq.getRegionGroupMap().keySet()) {
+    for (String storageGroup : createRegionGroupsPlan.getRegionGroupMap().keySet()) {
       ttlMap.put(
           storageGroup,
           getClusterSchemaManager().getStorageGroupSchemaByName(storageGroup).getTTL());
     }
-    AsyncDataNodeClientPool.getInstance().createRegions(createRegionGroupsReq, ttlMap);
+    AsyncDataNodeClientPool.getInstance().createRegions(createRegionGroupsPlan, ttlMap);
     // Persist the allocation result
-    getConsensusManager().write(createRegionGroupsReq);
+    getConsensusManager().write(createRegionGroupsPlan);
   }
 
   /**
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/RegionBalancer.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/RegionBalancer.java
index 70c264bfa5..121c1f449b 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/RegionBalancer.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/RegionBalancer.java
@@ -22,7 +22,7 @@ import org.apache.iotdb.common.rpc.thrift.TConsensusGroupId;
 import org.apache.iotdb.common.rpc.thrift.TConsensusGroupType;
 import org.apache.iotdb.common.rpc.thrift.TDataNodeInfo;
 import org.apache.iotdb.common.rpc.thrift.TRegionReplicaSet;
-import org.apache.iotdb.confignode.consensus.request.write.CreateRegionsReq;
+import org.apache.iotdb.confignode.consensus.request.write.CreateRegionsPlan;
 import org.apache.iotdb.confignode.exception.NotEnoughDataNodeException;
 import org.apache.iotdb.confignode.exception.StorageGroupNotExistsException;
 import org.apache.iotdb.confignode.manager.ClusterSchemaManager;
@@ -48,18 +48,18 @@ public class RegionBalancer {
   }
 
   /**
-   * Generate a Regions allocation plan(CreateRegionsReq)
+   * Generate a Regions allocation plan(CreateRegionsPlan)
    *
    * @param allotmentMap Map<StorageGroupName, Region allotment>
    * @param consensusGroupType TConsensusGroupType of the new Regions
-   * @return CreateRegionsReq
+   * @return CreateRegionsPlan
    * @throws NotEnoughDataNodeException When the number of DataNodes is not enough for allocation
    * @throws StorageGroupNotExistsException When some StorageGroups don't exist
    */
-  public CreateRegionsReq genRegionsAllocationPlan(
+  public CreateRegionsPlan genRegionsAllocationPlan(
       Map<String, Integer> allotmentMap, TConsensusGroupType consensusGroupType)
       throws NotEnoughDataNodeException, StorageGroupNotExistsException {
-    CreateRegionsReq createRegionGroupsReq = new CreateRegionsReq();
+    CreateRegionsPlan createRegionGroupsPlan = new CreateRegionsPlan();
     IRegionAllocator regionAllocator = genRegionAllocator();
 
     List<TDataNodeInfo> onlineDataNodes = getNodeManager().getOnlineDataNodes(-1);
@@ -91,13 +91,13 @@ public class RegionBalancer {
                 replicationFactor,
                 new TConsensusGroupId(
                     consensusGroupType, getPartitionManager().generateNextRegionGroupId()));
-        createRegionGroupsReq.addRegionGroup(storageGroup, newRegion);
+        createRegionGroupsPlan.addRegionGroup(storageGroup, newRegion);
 
         allocatedRegions.add(newRegion);
       }
     }
 
-    return createRegionGroupsReq;
+    return createRegionGroupsPlan;
   }
 
   private IRegionAllocator genRegionAllocator() {
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/AuthorInfo.java b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/AuthorInfo.java
index 6fa365235d..34178a99c4 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/AuthorInfo.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/AuthorInfo.java
@@ -33,8 +33,8 @@ import org.apache.iotdb.commons.snapshot.SnapshotProcessor;
 import org.apache.iotdb.commons.utils.AuthUtils;
 import org.apache.iotdb.commons.utils.FileUtils;
 import org.apache.iotdb.commons.utils.TestOnly;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequestType;
-import org.apache.iotdb.confignode.consensus.request.auth.AuthorReq;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlanType;
+import org.apache.iotdb.confignode.consensus.request.auth.AuthorPlan;
 import org.apache.iotdb.confignode.consensus.response.PermissionInfoResp;
 import org.apache.iotdb.confignode.rpc.thrift.TPermissionInfoResp;
 import org.apache.iotdb.confignode.rpc.thrift.TRoleResp;
@@ -138,14 +138,14 @@ public class AuthorInfo implements SnapshotProcessor {
     return false;
   }
 
-  public TSStatus authorNonQuery(AuthorReq authorReq) {
-    ConfigRequestType authorType = authorReq.getAuthorType();
-    String userName = authorReq.getUserName();
-    String roleName = authorReq.getRoleName();
-    String password = authorReq.getPassword();
-    String newPassword = authorReq.getNewPassword();
-    Set<Integer> permissions = authorReq.getPermissions();
-    String nodeName = authorReq.getNodeName();
+  public TSStatus authorNonQuery(AuthorPlan authorPlan) {
+    ConfigPhysicalPlanType authorType = authorPlan.getAuthorType();
+    String userName = authorPlan.getUserName();
+    String roleName = authorPlan.getRoleName();
+    String password = authorPlan.getPassword();
+    String newPassword = authorPlan.getNewPassword();
+    Set<Integer> permissions = authorPlan.getPermissions();
+    String nodeName = authorPlan.getNodeName();
     try {
       switch (authorType) {
         case UpdateUser:
@@ -190,7 +190,7 @@ public class AuthorInfo implements SnapshotProcessor {
           authorizer.revokeRoleFromUser(roleName, userName);
           break;
         default:
-          throw new AuthException("unknown type: " + authorReq.getAuthorType());
+          throw new AuthException("unknown type: " + authorPlan.getAuthorType());
       }
     } catch (AuthException e) {
       return RpcUtils.getStatus(TSStatusCode.EXECUTE_PERMISSION_EXCEPTION_ERROR, e.getMessage());
@@ -218,7 +218,7 @@ public class AuthorInfo implements SnapshotProcessor {
     return result;
   }
 
-  public PermissionInfoResp executeListRoleUsers(AuthorReq plan) throws AuthException {
+  public PermissionInfoResp executeListRoleUsers(AuthorPlan plan) throws AuthException {
     PermissionInfoResp result = new PermissionInfoResp();
     Map<String, List<String>> permissionInfo = new HashMap<>();
     Role role;
@@ -248,7 +248,7 @@ public class AuthorInfo implements SnapshotProcessor {
     return result;
   }
 
-  public PermissionInfoResp executeListUserRoles(AuthorReq plan) throws AuthException {
+  public PermissionInfoResp executeListUserRoles(AuthorPlan plan) throws AuthException {
     PermissionInfoResp result = new PermissionInfoResp();
     Map<String, List<String>> permissionInfo = new HashMap<>();
     User user;
@@ -275,7 +275,7 @@ public class AuthorInfo implements SnapshotProcessor {
     return result;
   }
 
-  public PermissionInfoResp executeListRolePrivileges(AuthorReq plan) throws AuthException {
+  public PermissionInfoResp executeListRolePrivileges(AuthorPlan plan) throws AuthException {
     PermissionInfoResp result = new PermissionInfoResp();
     Map<String, List<String>> permissionInfo = new HashMap<>();
     Role role;
@@ -305,7 +305,7 @@ public class AuthorInfo implements SnapshotProcessor {
     return result;
   }
 
-  public PermissionInfoResp executeListUserPrivileges(AuthorReq plan) throws AuthException {
+  public PermissionInfoResp executeListUserPrivileges(AuthorPlan plan) throws AuthException {
     PermissionInfoResp result = new PermissionInfoResp();
     Map<String, List<String>> permissionInfo = new HashMap<>();
     User user;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/ClusterSchemaInfo.java b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/ClusterSchemaInfo.java
index 91dca04457..7691b71ebb 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/ClusterSchemaInfo.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/ClusterSchemaInfo.java
@@ -24,15 +24,15 @@ import org.apache.iotdb.commons.exception.MetadataException;
 import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.commons.snapshot.SnapshotProcessor;
 import org.apache.iotdb.commons.utils.TestOnly;
-import org.apache.iotdb.confignode.consensus.request.read.CountStorageGroupReq;
-import org.apache.iotdb.confignode.consensus.request.read.GetStorageGroupReq;
-import org.apache.iotdb.confignode.consensus.request.write.AdjustMaxRegionGroupCountReq;
-import org.apache.iotdb.confignode.consensus.request.write.DeleteStorageGroupReq;
-import org.apache.iotdb.confignode.consensus.request.write.SetDataReplicationFactorReq;
-import org.apache.iotdb.confignode.consensus.request.write.SetSchemaReplicationFactorReq;
-import org.apache.iotdb.confignode.consensus.request.write.SetStorageGroupReq;
-import org.apache.iotdb.confignode.consensus.request.write.SetTTLReq;
-import org.apache.iotdb.confignode.consensus.request.write.SetTimePartitionIntervalReq;
+import org.apache.iotdb.confignode.consensus.request.read.CountStorageGroupPlan;
+import org.apache.iotdb.confignode.consensus.request.read.GetStorageGroupPlan;
+import org.apache.iotdb.confignode.consensus.request.write.AdjustMaxRegionGroupCountPlan;
+import org.apache.iotdb.confignode.consensus.request.write.DeleteStorageGroupPlan;
+import org.apache.iotdb.confignode.consensus.request.write.SetDataReplicationFactorPlan;
+import org.apache.iotdb.confignode.consensus.request.write.SetSchemaReplicationFactorPlan;
+import org.apache.iotdb.confignode.consensus.request.write.SetStorageGroupPlan;
+import org.apache.iotdb.confignode.consensus.request.write.SetTTLPlan;
+import org.apache.iotdb.confignode.consensus.request.write.SetTimePartitionIntervalPlan;
 import org.apache.iotdb.confignode.consensus.response.CountStorageGroupResp;
 import org.apache.iotdb.confignode.consensus.response.StorageGroupSchemaResp;
 import org.apache.iotdb.confignode.exception.StorageGroupNotExistsException;
@@ -91,16 +91,16 @@ public class ClusterSchemaInfo implements SnapshotProcessor {
   /**
    * Cache StorageGroupSchema
    *
-   * @param req SetStorageGroupReq
+   * @param plan SetStorageGroupPlan
    * @return SUCCESS_STATUS if the StorageGroup is set successfully. CACHE_FAILURE if fail to set
    *     StorageGroup in MTreeAboveSG.
    */
-  public TSStatus setStorageGroup(SetStorageGroupReq req) {
+  public TSStatus setStorageGroup(SetStorageGroupPlan plan) {
     TSStatus result = new TSStatus();
     storageGroupReadWriteLock.writeLock().lock();
     try {
       // Set StorageGroup
-      TStorageGroupSchema storageGroupSchema = req.getSchema();
+      TStorageGroupSchema storageGroupSchema = plan.getSchema();
       PartialPath partialPathName = new PartialPath(storageGroupSchema.getName());
       mTree.setStorageGroup(partialPathName);
 
@@ -122,15 +122,15 @@ public class ClusterSchemaInfo implements SnapshotProcessor {
   /**
    * Delete StorageGroup
    *
-   * @param req DeleteStorageGroupReq
+   * @param plan DeleteStorageGroupPlan
    * @return SUCCESS_STATUS
    */
-  public TSStatus deleteStorageGroup(DeleteStorageGroupReq req) {
+  public TSStatus deleteStorageGroup(DeleteStorageGroupPlan plan) {
     TSStatus result = new TSStatus();
     storageGroupReadWriteLock.writeLock().lock();
     try {
       // Delete StorageGroup
-      String storageGroup = req.getName();
+      String storageGroup = plan.getName();
       PartialPath partialPathName = new PartialPath(storageGroup);
       mTree.deleteStorageGroup(partialPathName);
 
@@ -147,11 +147,11 @@ public class ClusterSchemaInfo implements SnapshotProcessor {
   }
 
   /** @return The number of matched StorageGroups by the specific StorageGroup pattern */
-  public CountStorageGroupResp countMatchedStorageGroups(CountStorageGroupReq req) {
+  public CountStorageGroupResp countMatchedStorageGroups(CountStorageGroupPlan plan) {
     CountStorageGroupResp result = new CountStorageGroupResp();
     storageGroupReadWriteLock.readLock().lock();
     try {
-      PartialPath patternPath = new PartialPath(req.getStorageGroupPattern());
+      PartialPath patternPath = new PartialPath(plan.getStorageGroupPattern());
       result.setCount(mTree.getBelongedStorageGroups(patternPath).size());
       result.setStatus(new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode()));
     } catch (MetadataException e) {
@@ -166,12 +166,12 @@ public class ClusterSchemaInfo implements SnapshotProcessor {
   }
 
   /** @return All StorageGroupSchemas that matches to the specific StorageGroup pattern */
-  public StorageGroupSchemaResp getMatchedStorageGroupSchemas(GetStorageGroupReq req) {
+  public StorageGroupSchemaResp getMatchedStorageGroupSchemas(GetStorageGroupPlan plan) {
     StorageGroupSchemaResp result = new StorageGroupSchemaResp();
     storageGroupReadWriteLock.readLock().lock();
     try {
       Map<String, TStorageGroupSchema> schemaMap = new HashMap<>();
-      PartialPath patternPath = new PartialPath(req.getStorageGroupPattern());
+      PartialPath patternPath = new PartialPath(plan.getStorageGroupPattern());
       List<PartialPath> matchedPaths = mTree.getBelongedStorageGroups(patternPath);
       for (PartialPath path : matchedPaths) {
         schemaMap.put(
@@ -191,16 +191,16 @@ public class ClusterSchemaInfo implements SnapshotProcessor {
     return result;
   }
 
-  public TSStatus setTTL(SetTTLReq req) {
+  public TSStatus setTTL(SetTTLPlan plan) {
     TSStatus result = new TSStatus();
     storageGroupReadWriteLock.writeLock().lock();
     try {
-      PartialPath path = new PartialPath(req.getStorageGroup());
+      PartialPath path = new PartialPath(plan.getStorageGroup());
       if (mTree.isStorageGroupAlreadySet(path)) {
         mTree
             .getStorageGroupNodeByStorageGroupPath(path)
             .getStorageGroupSchema()
-            .setTTL(req.getTTL());
+            .setTTL(plan.getTTL());
         result.setCode(TSStatusCode.SUCCESS_STATUS.getStatusCode());
       } else {
         result.setCode(TSStatusCode.STORAGE_GROUP_NOT_EXIST.getStatusCode());
@@ -217,16 +217,16 @@ public class ClusterSchemaInfo implements SnapshotProcessor {
     return result;
   }
 
-  public TSStatus setSchemaReplicationFactor(SetSchemaReplicationFactorReq req) {
+  public TSStatus setSchemaReplicationFactor(SetSchemaReplicationFactorPlan plan) {
     TSStatus result = new TSStatus();
     storageGroupReadWriteLock.writeLock().lock();
     try {
-      PartialPath path = new PartialPath(req.getStorageGroup());
+      PartialPath path = new PartialPath(plan.getStorageGroup());
       if (mTree.isStorageGroupAlreadySet(path)) {
         mTree
             .getStorageGroupNodeByStorageGroupPath(path)
             .getStorageGroupSchema()
-            .setSchemaReplicationFactor(req.getSchemaReplicationFactor());
+            .setSchemaReplicationFactor(plan.getSchemaReplicationFactor());
         result.setCode(TSStatusCode.SUCCESS_STATUS.getStatusCode());
       } else {
         result.setCode(TSStatusCode.STORAGE_GROUP_NOT_EXIST.getStatusCode());
@@ -242,16 +242,16 @@ public class ClusterSchemaInfo implements SnapshotProcessor {
     return result;
   }
 
-  public TSStatus setDataReplicationFactor(SetDataReplicationFactorReq req) {
+  public TSStatus setDataReplicationFactor(SetDataReplicationFactorPlan plan) {
     TSStatus result = new TSStatus();
     storageGroupReadWriteLock.writeLock().lock();
     try {
-      PartialPath path = new PartialPath(req.getStorageGroup());
+      PartialPath path = new PartialPath(plan.getStorageGroup());
       if (mTree.isStorageGroupAlreadySet(path)) {
         mTree
             .getStorageGroupNodeByStorageGroupPath(path)
             .getStorageGroupSchema()
-            .setDataReplicationFactor(req.getDataReplicationFactor());
+            .setDataReplicationFactor(plan.getDataReplicationFactor());
         result.setCode(TSStatusCode.SUCCESS_STATUS.getStatusCode());
       } else {
         result.setCode(TSStatusCode.STORAGE_GROUP_NOT_EXIST.getStatusCode());
@@ -267,16 +267,16 @@ public class ClusterSchemaInfo implements SnapshotProcessor {
     return result;
   }
 
-  public TSStatus setTimePartitionInterval(SetTimePartitionIntervalReq req) {
+  public TSStatus setTimePartitionInterval(SetTimePartitionIntervalPlan plan) {
     TSStatus result = new TSStatus();
     storageGroupReadWriteLock.writeLock().lock();
     try {
-      PartialPath path = new PartialPath(req.getStorageGroup());
+      PartialPath path = new PartialPath(plan.getStorageGroup());
       if (mTree.isStorageGroupAlreadySet(path)) {
         mTree
             .getStorageGroupNodeByStorageGroupPath(path)
             .getStorageGroupSchema()
-            .setTimePartitionInterval(req.getTimePartitionInterval());
+            .setTimePartitionInterval(plan.getTimePartitionInterval());
         result.setCode(TSStatusCode.SUCCESS_STATUS.getStatusCode());
       } else {
         result.setCode(TSStatusCode.STORAGE_GROUP_NOT_EXIST.getStatusCode());
@@ -295,15 +295,15 @@ public class ClusterSchemaInfo implements SnapshotProcessor {
   /**
    * Adjust the maximum RegionGroup count of each StorageGroup
    *
-   * @param req AdjustMaxRegionGroupCountReq
+   * @param plan AdjustMaxRegionGroupCountPlan
    * @return SUCCESS_STATUS
    */
-  public TSStatus adjustMaxRegionGroupCount(AdjustMaxRegionGroupCountReq req) {
+  public TSStatus adjustMaxRegionGroupCount(AdjustMaxRegionGroupCountPlan plan) {
     TSStatus result = new TSStatus();
     storageGroupReadWriteLock.writeLock().lock();
     try {
       for (Map.Entry<String, Pair<Integer, Integer>> entry :
-          req.getMaxRegionGroupCountMap().entrySet()) {
+          plan.getMaxRegionGroupCountMap().entrySet()) {
         PartialPath path = new PartialPath(entry.getKey());
         TStorageGroupSchema storageGroupSchema =
             mTree.getStorageGroupNodeByStorageGroupPath(path).getStorageGroupSchema();
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/NodeInfo.java b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/NodeInfo.java
index 2ee1820d23..366ea4866c 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/NodeInfo.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/NodeInfo.java
@@ -27,10 +27,10 @@ import org.apache.iotdb.commons.utils.NodeUrlUtils;
 import org.apache.iotdb.commons.utils.TestOnly;
 import org.apache.iotdb.confignode.conf.ConfigNodeConstant;
 import org.apache.iotdb.confignode.conf.ConfigNodeDescriptor;
-import org.apache.iotdb.confignode.consensus.request.read.GetDataNodeInfoReq;
-import org.apache.iotdb.confignode.consensus.request.write.ApplyConfigNodeReq;
-import org.apache.iotdb.confignode.consensus.request.write.RegisterDataNodeReq;
-import org.apache.iotdb.confignode.consensus.request.write.RemoveConfigNodeReq;
+import org.apache.iotdb.confignode.consensus.request.read.GetDataNodeInfoPlan;
+import org.apache.iotdb.confignode.consensus.request.write.ApplyConfigNodePlan;
+import org.apache.iotdb.confignode.consensus.request.write.RegisterDataNodePlan;
+import org.apache.iotdb.confignode.consensus.request.write.RemoveConfigNodePlan;
 import org.apache.iotdb.confignode.consensus.response.DataNodeInfosResp;
 import org.apache.iotdb.db.service.metrics.MetricsService;
 import org.apache.iotdb.db.service.metrics.enums.Metric;
@@ -156,18 +156,18 @@ public class NodeInfo implements SnapshotProcessor {
   /**
    * Persist DataNode info
    *
-   * @param registerDataNodeReq RegisterDataNodePlan
+   * @param registerDataNodePlan RegisterDataNodePlan
    * @return SUCCESS_STATUS
    */
-  public TSStatus registerDataNode(RegisterDataNodeReq registerDataNodeReq) {
+  public TSStatus registerDataNode(RegisterDataNodePlan registerDataNodePlan) {
     TSStatus result;
-    TDataNodeInfo info = registerDataNodeReq.getInfo();
+    TDataNodeInfo info = registerDataNodePlan.getInfo();
     dataNodeInfoReadWriteLock.writeLock().lock();
     try {
       onlineDataNodes.put(info.getLocation().getDataNodeId(), info);
 
       // To ensure that the nextNodeId is updated correctly when
-      // the ConfigNode-followers concurrently processes RegisterDataNodeReq,
+      // the ConfigNode-followers concurrently processes RegisterDataNodePlan,
       // we need to add a synchronization lock here
       synchronized (nextNodeId) {
         if (nextNodeId.get() < info.getLocation().getDataNodeId()) {
@@ -193,15 +193,15 @@ public class NodeInfo implements SnapshotProcessor {
   /**
    * Get DataNode info
    *
-   * @param getDataNodeInfoReq QueryDataNodeInfoPlan
+   * @param getDataNodeInfoPlan QueryDataNodeInfoPlan
    * @return The specific DataNode's info or all DataNode info if dataNodeId in
    *     QueryDataNodeInfoPlan is -1
    */
-  public DataNodeInfosResp getDataNodeInfo(GetDataNodeInfoReq getDataNodeInfoReq) {
+  public DataNodeInfosResp getDataNodeInfo(GetDataNodeInfoPlan getDataNodeInfoPlan) {
     DataNodeInfosResp result = new DataNodeInfosResp();
     result.setStatus(new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode()));
 
-    int dataNodeId = getDataNodeInfoReq.getDataNodeID();
+    int dataNodeId = getDataNodeInfoPlan.getDataNodeID();
     dataNodeInfoReadWriteLock.readLock().lock();
     try {
       if (dataNodeId == -1) {
@@ -269,27 +269,27 @@ public class NodeInfo implements SnapshotProcessor {
   /**
    * Update ConfigNodeList both in memory and confignode-system.properties file
    *
-   * @param applyConfigNodeReq ApplyConfigNodeReq
+   * @param applyConfigNodePlan ApplyConfigNodePlan
    * @return APPLY_CONFIGNODE_FAILED if update online ConfigNode failed.
    */
-  public TSStatus updateConfigNodeList(ApplyConfigNodeReq applyConfigNodeReq) {
+  public TSStatus updateConfigNodeList(ApplyConfigNodePlan applyConfigNodePlan) {
     TSStatus status = new TSStatus();
     configNodeInfoReadWriteLock.writeLock().lock();
     try {
       // To ensure that the nextNodeId is updated correctly when
-      // the ConfigNode-followers concurrently processes ApplyConfigNodeReq,
+      // the ConfigNode-followers concurrently processes ApplyConfigNodePlan,
       // we need to add a synchronization lock here
       synchronized (nextNodeId) {
-        if (nextNodeId.get() < applyConfigNodeReq.getConfigNodeLocation().getConfigNodeId()) {
-          nextNodeId.set(applyConfigNodeReq.getConfigNodeLocation().getConfigNodeId());
+        if (nextNodeId.get() < applyConfigNodePlan.getConfigNodeLocation().getConfigNodeId()) {
+          nextNodeId.set(applyConfigNodePlan.getConfigNodeLocation().getConfigNodeId());
         }
       }
 
-      onlineConfigNodes.add(applyConfigNodeReq.getConfigNodeLocation());
+      onlineConfigNodes.add(applyConfigNodePlan.getConfigNodeLocation());
       storeConfigNode();
       LOGGER.info(
           "Successfully apply ConfigNode: {}. Current ConfigNodeGroup: {}",
-          applyConfigNodeReq.getConfigNodeLocation(),
+          applyConfigNodePlan.getConfigNodeLocation(),
           onlineConfigNodes);
       status.setCode(TSStatusCode.SUCCESS_STATUS.getStatusCode());
     } catch (IOException e) {
@@ -306,18 +306,18 @@ public class NodeInfo implements SnapshotProcessor {
   /**
    * Update ConfigNodeList both in memory and confignode-system.properties file
    *
-   * @param removeConfigNodeReq RemoveConfigNodeReq
+   * @param removeConfigNodePlan RemoveConfigNodePlan
    * @return REMOVE_CONFIGNODE_FAILED if remove online ConfigNode failed.
    */
-  public TSStatus removeConfigNodeList(RemoveConfigNodeReq removeConfigNodeReq) {
+  public TSStatus removeConfigNodeList(RemoveConfigNodePlan removeConfigNodePlan) {
     TSStatus status = new TSStatus();
     configNodeInfoReadWriteLock.writeLock().lock();
     try {
-      onlineConfigNodes.remove(removeConfigNodeReq.getConfigNodeLocation());
+      onlineConfigNodes.remove(removeConfigNodePlan.getConfigNodeLocation());
       storeConfigNode();
       LOGGER.info(
           "Successfully remove ConfigNode: {}. Current ConfigNodeGroup: {}",
-          removeConfigNodeReq.getConfigNodeLocation(),
+          removeConfigNodePlan.getConfigNodeLocation(),
           onlineConfigNodes);
       status.setCode(TSStatusCode.SUCCESS_STATUS.getStatusCode());
     } catch (IOException e) {
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/ProcedureInfo.java b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/ProcedureInfo.java
index e12e3ae5a1..b0e39e47e2 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/ProcedureInfo.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/ProcedureInfo.java
@@ -21,8 +21,8 @@ package org.apache.iotdb.confignode.persistence;
 
 import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.commons.conf.CommonDescriptor;
-import org.apache.iotdb.confignode.consensus.request.write.DeleteProcedureReq;
-import org.apache.iotdb.confignode.consensus.request.write.UpdateProcedureReq;
+import org.apache.iotdb.confignode.consensus.request.write.DeleteProcedurePlan;
+import org.apache.iotdb.confignode.consensus.request.write.UpdateProcedurePlan;
 import org.apache.iotdb.confignode.procedure.Procedure;
 import org.apache.iotdb.confignode.procedure.store.ProcedureFactory;
 import org.apache.iotdb.confignode.procedure.store.ProcedureStore;
@@ -72,8 +72,8 @@ public class ProcedureInfo {
     }
   }
 
-  public TSStatus updateProcedure(UpdateProcedureReq updateProcedureReq) {
-    Procedure procedure = updateProcedureReq.getProcedure();
+  public TSStatus updateProcedure(UpdateProcedurePlan updateProcedurePlan) {
+    Procedure procedure = updateProcedurePlan.getProcedure();
     long procId = procedure.getProcId();
     Path path = Paths.get(procedureWalDir, procId + ProcedureStore.PROCEDURE_WAL_SUFFIX);
     ProcedureWAL procedureWAL =
@@ -87,8 +87,8 @@ public class ProcedureInfo {
     return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
   }
 
-  public TSStatus deleteProcedure(DeleteProcedureReq deleteProcedureReq) {
-    long procId = deleteProcedureReq.getProcId();
+  public TSStatus deleteProcedure(DeleteProcedurePlan deleteProcedurePlan) {
+    long procId = deleteProcedurePlan.getProcId();
     ProcedureWAL procedureWAL = procWALMap.get(procId);
     if (procedureWAL != null) {
       procedureWAL.delete();
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/UDFInfo.java b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/UDFInfo.java
index ea3a17420d..e3a7568c95 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/UDFInfo.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/UDFInfo.java
@@ -27,8 +27,8 @@ import org.apache.iotdb.commons.udf.service.UDFExecutableResource;
 import org.apache.iotdb.commons.udf.service.UDFRegistrationService;
 import org.apache.iotdb.confignode.conf.ConfigNodeConfig;
 import org.apache.iotdb.confignode.conf.ConfigNodeDescriptor;
-import org.apache.iotdb.confignode.consensus.request.write.CreateFunctionReq;
-import org.apache.iotdb.confignode.consensus.request.write.DropFunctionReq;
+import org.apache.iotdb.confignode.consensus.request.write.CreateFunctionPlan;
+import org.apache.iotdb.confignode.consensus.request.write.DropFunctionPlan;
 import org.apache.iotdb.rpc.TSStatusCode;
 
 import org.slf4j.Logger;
@@ -88,7 +88,7 @@ public class UDFInfo implements SnapshotProcessor {
     }
   }
 
-  public synchronized TSStatus createFunction(CreateFunctionReq req) {
+  public synchronized TSStatus createFunction(CreateFunctionPlan req) {
     final String functionName = req.getFunctionName();
     final String className = req.getClassName();
     final List<String> uris = req.getUris();
@@ -107,7 +107,7 @@ public class UDFInfo implements SnapshotProcessor {
     }
   }
 
-  public synchronized TSStatus dropFunction(DropFunctionReq req) {
+  public synchronized TSStatus dropFunction(DropFunctionPlan req) {
     try {
       udfRegistrationService.deregister(req.getFunctionName());
       return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/executor/ConfigRequestExecutor.java b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/executor/ConfigPlanExecutor.java
similarity index 81%
rename from confignode/src/main/java/org/apache/iotdb/confignode/persistence/executor/ConfigRequestExecutor.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/persistence/executor/ConfigPlanExecutor.java
index 68129c151d..11fbf19fe1 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/executor/ConfigRequestExecutor.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/executor/ConfigPlanExecutor.java
@@ -22,33 +22,33 @@ import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.commons.auth.AuthException;
 import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.commons.snapshot.SnapshotProcessor;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequest;
-import org.apache.iotdb.confignode.consensus.request.auth.AuthorReq;
-import org.apache.iotdb.confignode.consensus.request.read.CountStorageGroupReq;
-import org.apache.iotdb.confignode.consensus.request.read.GetDataNodeInfoReq;
-import org.apache.iotdb.confignode.consensus.request.read.GetDataPartitionReq;
-import org.apache.iotdb.confignode.consensus.request.read.GetNodePathsPartitionReq;
-import org.apache.iotdb.confignode.consensus.request.read.GetRegionInfoListReq;
-import org.apache.iotdb.confignode.consensus.request.read.GetSchemaPartitionReq;
-import org.apache.iotdb.confignode.consensus.request.read.GetStorageGroupReq;
-import org.apache.iotdb.confignode.consensus.request.write.AdjustMaxRegionGroupCountReq;
-import org.apache.iotdb.confignode.consensus.request.write.ApplyConfigNodeReq;
-import org.apache.iotdb.confignode.consensus.request.write.CreateDataPartitionReq;
-import org.apache.iotdb.confignode.consensus.request.write.CreateFunctionReq;
-import org.apache.iotdb.confignode.consensus.request.write.CreateRegionsReq;
-import org.apache.iotdb.confignode.consensus.request.write.CreateSchemaPartitionReq;
-import org.apache.iotdb.confignode.consensus.request.write.DeleteProcedureReq;
-import org.apache.iotdb.confignode.consensus.request.write.DeleteStorageGroupReq;
-import org.apache.iotdb.confignode.consensus.request.write.DropFunctionReq;
-import org.apache.iotdb.confignode.consensus.request.write.PreDeleteStorageGroupReq;
-import org.apache.iotdb.confignode.consensus.request.write.RegisterDataNodeReq;
-import org.apache.iotdb.confignode.consensus.request.write.RemoveConfigNodeReq;
-import org.apache.iotdb.confignode.consensus.request.write.SetDataReplicationFactorReq;
-import org.apache.iotdb.confignode.consensus.request.write.SetSchemaReplicationFactorReq;
-import org.apache.iotdb.confignode.consensus.request.write.SetStorageGroupReq;
-import org.apache.iotdb.confignode.consensus.request.write.SetTTLReq;
-import org.apache.iotdb.confignode.consensus.request.write.SetTimePartitionIntervalReq;
-import org.apache.iotdb.confignode.consensus.request.write.UpdateProcedureReq;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlan;
+import org.apache.iotdb.confignode.consensus.request.auth.AuthorPlan;
+import org.apache.iotdb.confignode.consensus.request.read.CountStorageGroupPlan;
+import org.apache.iotdb.confignode.consensus.request.read.GetDataNodeInfoPlan;
+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.GetRegionInfoListPlan;
+import org.apache.iotdb.confignode.consensus.request.read.GetSchemaPartitionPlan;
+import org.apache.iotdb.confignode.consensus.request.read.GetStorageGroupPlan;
+import org.apache.iotdb.confignode.consensus.request.write.AdjustMaxRegionGroupCountPlan;
+import org.apache.iotdb.confignode.consensus.request.write.ApplyConfigNodePlan;
+import org.apache.iotdb.confignode.consensus.request.write.CreateDataPartitionPlan;
+import org.apache.iotdb.confignode.consensus.request.write.CreateFunctionPlan;
+import org.apache.iotdb.confignode.consensus.request.write.CreateRegionsPlan;
+import org.apache.iotdb.confignode.consensus.request.write.CreateSchemaPartitionPlan;
+import org.apache.iotdb.confignode.consensus.request.write.DeleteProcedurePlan;
+import org.apache.iotdb.confignode.consensus.request.write.DeleteStorageGroupPlan;
+import org.apache.iotdb.confignode.consensus.request.write.DropFunctionPlan;
+import org.apache.iotdb.confignode.consensus.request.write.PreDeleteStorageGroupPlan;
+import org.apache.iotdb.confignode.consensus.request.write.RegisterDataNodePlan;
+import org.apache.iotdb.confignode.consensus.request.write.RemoveConfigNodePlan;
+import org.apache.iotdb.confignode.consensus.request.write.SetDataReplicationFactorPlan;
+import org.apache.iotdb.confignode.consensus.request.write.SetSchemaReplicationFactorPlan;
+import org.apache.iotdb.confignode.consensus.request.write.SetStorageGroupPlan;
+import org.apache.iotdb.confignode.consensus.request.write.SetTTLPlan;
+import org.apache.iotdb.confignode.consensus.request.write.SetTimePartitionIntervalPlan;
+import org.apache.iotdb.confignode.consensus.request.write.UpdateProcedurePlan;
 import org.apache.iotdb.confignode.consensus.response.SchemaNodeManagementResp;
 import org.apache.iotdb.confignode.exception.physical.UnknownPhysicalPlanTypeException;
 import org.apache.iotdb.confignode.persistence.AuthorInfo;
@@ -73,9 +73,9 @@ import java.util.Set;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.stream.Collectors;
 
-public class ConfigRequestExecutor {
+public class ConfigPlanExecutor {
 
-  private static final Logger LOGGER = LoggerFactory.getLogger(ConfigRequestExecutor.class);
+  private static final Logger LOGGER = LoggerFactory.getLogger(ConfigPlanExecutor.class);
 
   private final NodeInfo nodeInfo;
 
@@ -89,7 +89,7 @@ public class ConfigRequestExecutor {
 
   private final UDFInfo udfInfo;
 
-  public ConfigRequestExecutor(
+  public ConfigPlanExecutor(
       NodeInfo nodeInfo,
       ClusterSchemaInfo clusterSchemaInfo,
       PartitionInfo partitionInfo,
@@ -104,78 +104,78 @@ public class ConfigRequestExecutor {
     this.udfInfo = udfInfo;
   }
 
-  public DataSet executeQueryPlan(ConfigRequest req)
+  public DataSet executeQueryPlan(ConfigPhysicalPlan req)
       throws UnknownPhysicalPlanTypeException, AuthException {
     switch (req.getType()) {
       case GetDataNodeInfo:
-        return nodeInfo.getDataNodeInfo((GetDataNodeInfoReq) req);
+        return nodeInfo.getDataNodeInfo((GetDataNodeInfoPlan) req);
       case CountStorageGroup:
-        return clusterSchemaInfo.countMatchedStorageGroups((CountStorageGroupReq) req);
+        return clusterSchemaInfo.countMatchedStorageGroups((CountStorageGroupPlan) req);
       case GetStorageGroup:
-        return clusterSchemaInfo.getMatchedStorageGroupSchemas((GetStorageGroupReq) req);
+        return clusterSchemaInfo.getMatchedStorageGroupSchemas((GetStorageGroupPlan) req);
       case GetDataPartition:
       case GetOrCreateDataPartition:
-        return partitionInfo.getDataPartition((GetDataPartitionReq) req);
+        return partitionInfo.getDataPartition((GetDataPartitionPlan) req);
       case GetSchemaPartition:
       case GetOrCreateSchemaPartition:
-        return partitionInfo.getSchemaPartition((GetSchemaPartitionReq) req);
+        return partitionInfo.getSchemaPartition((GetSchemaPartitionPlan) req);
       case ListUser:
         return authorInfo.executeListUser();
       case ListRole:
         return authorInfo.executeListRole();
       case ListUserPrivilege:
-        return authorInfo.executeListUserPrivileges((AuthorReq) req);
+        return authorInfo.executeListUserPrivileges((AuthorPlan) req);
       case ListRolePrivilege:
-        return authorInfo.executeListRolePrivileges((AuthorReq) req);
+        return authorInfo.executeListRolePrivileges((AuthorPlan) req);
       case ListUserRoles:
-        return authorInfo.executeListUserRoles((AuthorReq) req);
+        return authorInfo.executeListUserRoles((AuthorPlan) req);
       case ListRoleUsers:
-        return authorInfo.executeListRoleUsers((AuthorReq) req);
+        return authorInfo.executeListRoleUsers((AuthorPlan) req);
       case GetNodePathsPartition:
         return getSchemaNodeManagementPartition(req);
       case GetRegionInfoList:
-        return partitionInfo.getRegionInfoList((GetRegionInfoListReq) req);
+        return partitionInfo.getRegionInfoList((GetRegionInfoListPlan) req);
       default:
         throw new UnknownPhysicalPlanTypeException(req.getType());
     }
   }
 
-  public TSStatus executeNonQueryPlan(ConfigRequest req)
+  public TSStatus executeNonQueryPlan(ConfigPhysicalPlan req)
       throws UnknownPhysicalPlanTypeException, AuthException {
     switch (req.getType()) {
       case RegisterDataNode:
-        return nodeInfo.registerDataNode((RegisterDataNodeReq) req);
+        return nodeInfo.registerDataNode((RegisterDataNodePlan) req);
       case SetStorageGroup:
-        TSStatus status = clusterSchemaInfo.setStorageGroup((SetStorageGroupReq) req);
+        TSStatus status = clusterSchemaInfo.setStorageGroup((SetStorageGroupPlan) req);
         if (status.getCode() != TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
           return status;
         }
-        return partitionInfo.setStorageGroup((SetStorageGroupReq) req);
+        return partitionInfo.setStorageGroup((SetStorageGroupPlan) req);
       case AdjustMaxRegionGroupCount:
-        return clusterSchemaInfo.adjustMaxRegionGroupCount((AdjustMaxRegionGroupCountReq) req);
+        return clusterSchemaInfo.adjustMaxRegionGroupCount((AdjustMaxRegionGroupCountPlan) req);
       case DeleteStorageGroup:
-        partitionInfo.deleteStorageGroup((DeleteStorageGroupReq) req);
-        return clusterSchemaInfo.deleteStorageGroup((DeleteStorageGroupReq) req);
+        partitionInfo.deleteStorageGroup((DeleteStorageGroupPlan) req);
+        return clusterSchemaInfo.deleteStorageGroup((DeleteStorageGroupPlan) req);
       case PreDeleteStorageGroup:
-        return partitionInfo.preDeleteStorageGroup((PreDeleteStorageGroupReq) req);
+        return partitionInfo.preDeleteStorageGroup((PreDeleteStorageGroupPlan) req);
       case SetTTL:
-        return clusterSchemaInfo.setTTL((SetTTLReq) req);
+        return clusterSchemaInfo.setTTL((SetTTLPlan) req);
       case SetSchemaReplicationFactor:
-        return clusterSchemaInfo.setSchemaReplicationFactor((SetSchemaReplicationFactorReq) req);
+        return clusterSchemaInfo.setSchemaReplicationFactor((SetSchemaReplicationFactorPlan) req);
       case SetDataReplicationFactor:
-        return clusterSchemaInfo.setDataReplicationFactor((SetDataReplicationFactorReq) req);
+        return clusterSchemaInfo.setDataReplicationFactor((SetDataReplicationFactorPlan) req);
       case SetTimePartitionInterval:
-        return clusterSchemaInfo.setTimePartitionInterval((SetTimePartitionIntervalReq) req);
+        return clusterSchemaInfo.setTimePartitionInterval((SetTimePartitionIntervalPlan) req);
       case CreateRegionGroups:
-        return partitionInfo.createRegionGroups((CreateRegionsReq) req);
+        return partitionInfo.createRegionGroups((CreateRegionsPlan) req);
       case CreateSchemaPartition:
-        return partitionInfo.createSchemaPartition((CreateSchemaPartitionReq) req);
+        return partitionInfo.createSchemaPartition((CreateSchemaPartitionPlan) req);
       case CreateDataPartition:
-        return partitionInfo.createDataPartition((CreateDataPartitionReq) req);
+        return partitionInfo.createDataPartition((CreateDataPartitionPlan) req);
       case UpdateProcedure:
-        return procedureInfo.updateProcedure((UpdateProcedureReq) req);
+        return procedureInfo.updateProcedure((UpdateProcedurePlan) req);
       case DeleteProcedure:
-        return procedureInfo.deleteProcedure((DeleteProcedureReq) req);
+        return procedureInfo.deleteProcedure((DeleteProcedurePlan) req);
       case CreateUser:
       case CreateRole:
       case DropUser:
@@ -187,15 +187,15 @@ public class ConfigRequestExecutor {
       case RevokeRole:
       case RevokeRoleFromUser:
       case UpdateUser:
-        return authorInfo.authorNonQuery((AuthorReq) req);
+        return authorInfo.authorNonQuery((AuthorPlan) req);
       case ApplyConfigNode:
-        return nodeInfo.updateConfigNodeList((ApplyConfigNodeReq) req);
+        return nodeInfo.updateConfigNodeList((ApplyConfigNodePlan) req);
       case RemoveConfigNode:
-        return nodeInfo.removeConfigNodeList((RemoveConfigNodeReq) req);
+        return nodeInfo.removeConfigNodeList((RemoveConfigNodePlan) req);
       case CreateFunction:
-        return udfInfo.createFunction((CreateFunctionReq) req);
+        return udfInfo.createFunction((CreateFunctionPlan) req);
       case DropFunction:
-        return udfInfo.dropFunction((DropFunctionReq) req);
+        return udfInfo.dropFunction((DropFunctionPlan) req);
       default:
         throw new UnknownPhysicalPlanTypeException(req.getType());
     }
@@ -266,16 +266,16 @@ public class ConfigRequestExecutor {
             });
   }
 
-  private DataSet getSchemaNodeManagementPartition(ConfigRequest req) {
+  private DataSet getSchemaNodeManagementPartition(ConfigPhysicalPlan req) {
     int level;
     PartialPath partialPath;
     Set<String> alreadyMatchedNode;
     Set<PartialPath> needMatchedNode;
     List<String> matchedStorageGroups = new ArrayList<>();
 
-    GetNodePathsPartitionReq getNodePathsPartitionReq = (GetNodePathsPartitionReq) req;
-    partialPath = getNodePathsPartitionReq.getPartialPath();
-    level = getNodePathsPartitionReq.getLevel();
+    GetNodePathsPartitionPlan getNodePathsPartitionPlan = (GetNodePathsPartitionPlan) req;
+    partialPath = getNodePathsPartitionPlan.getPartialPath();
+    level = getNodePathsPartitionPlan.getLevel();
     if (-1 == level) {
       // get child paths
       Pair<Set<String>, Set<PartialPath>> matchedChildInNextLevel =
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 594778a534..8e941639c7 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,15 +30,15 @@ import org.apache.iotdb.common.rpc.thrift.TTimePartitionSlot;
 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.GetDataPartitionReq;
-import org.apache.iotdb.confignode.consensus.request.read.GetRegionInfoListReq;
-import org.apache.iotdb.confignode.consensus.request.read.GetSchemaPartitionReq;
-import org.apache.iotdb.confignode.consensus.request.write.CreateDataPartitionReq;
-import org.apache.iotdb.confignode.consensus.request.write.CreateRegionsReq;
-import org.apache.iotdb.confignode.consensus.request.write.CreateSchemaPartitionReq;
-import org.apache.iotdb.confignode.consensus.request.write.DeleteStorageGroupReq;
-import org.apache.iotdb.confignode.consensus.request.write.PreDeleteStorageGroupReq;
-import org.apache.iotdb.confignode.consensus.request.write.SetStorageGroupReq;
+import org.apache.iotdb.confignode.consensus.request.read.GetDataPartitionPlan;
+import org.apache.iotdb.confignode.consensus.request.read.GetRegionInfoListPlan;
+import org.apache.iotdb.confignode.consensus.request.read.GetSchemaPartitionPlan;
+import org.apache.iotdb.confignode.consensus.request.write.CreateDataPartitionPlan;
+import org.apache.iotdb.confignode.consensus.request.write.CreateRegionsPlan;
+import org.apache.iotdb.confignode.consensus.request.write.CreateSchemaPartitionPlan;
+import org.apache.iotdb.confignode.consensus.request.write.DeleteStorageGroupPlan;
+import org.apache.iotdb.confignode.consensus.request.write.PreDeleteStorageGroupPlan;
+import org.apache.iotdb.confignode.consensus.request.write.SetStorageGroupPlan;
 import org.apache.iotdb.confignode.consensus.response.DataPartitionResp;
 import org.apache.iotdb.confignode.consensus.response.RegionInfoListResp;
 import org.apache.iotdb.confignode.consensus.response.SchemaNodeManagementResp;
@@ -156,11 +156,11 @@ public class PartitionInfo implements SnapshotProcessor {
   /**
    * Thread-safely create new StorageGroupPartitionInfo
    *
-   * @param req SetStorageGroupReq
+   * @param plan SetStorageGroupPlan
    * @return SUCCESS_STATUS if the new StorageGroupPartitionInfo is created successfully.
    */
-  public TSStatus setStorageGroup(SetStorageGroupReq req) {
-    String storageGroupName = req.getSchema().getName();
+  public TSStatus setStorageGroup(SetStorageGroupPlan plan) {
+    String storageGroupName = plan.getSchema().getName();
     storageGroupPartitionTables.put(
         storageGroupName, new StorageGroupPartitionTable(storageGroupName));
     return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
@@ -169,14 +169,14 @@ public class PartitionInfo implements SnapshotProcessor {
   /**
    * Thread-safely cache allocation result of new RegionGroups
    *
-   * @param req CreateRegionGroupsReq
+   * @param plan CreateRegionGroupsPlan
    * @return SUCCESS_STATUS
    */
-  public TSStatus createRegionGroups(CreateRegionsReq req) {
+  public TSStatus createRegionGroups(CreateRegionsPlan plan) {
     TSStatus result;
     AtomicInteger maxRegionId = new AtomicInteger(Integer.MIN_VALUE);
 
-    req.getRegionGroupMap()
+    plan.getRegionGroupMap()
         .forEach(
             (storageGroup, regionReplicaSets) -> {
               storageGroupPartitionTables.get(storageGroup).createRegionGroups(regionReplicaSets);
@@ -187,7 +187,7 @@ public class PartitionInfo implements SnapshotProcessor {
             });
 
     // To ensure that the nextRegionGroupId is updated correctly when
-    // the ConfigNode-followers concurrently processes CreateRegionsReq,
+    // the ConfigNode-followers concurrently processes CreateRegionsPlan,
     // we need to add a synchronization lock here
     synchronized (nextRegionGroupId) {
       if (nextRegionGroupId.get() < maxRegionId.get()) {
@@ -202,13 +202,13 @@ public class PartitionInfo implements SnapshotProcessor {
   /**
    * Thread-safely pre-delete the specific StorageGroup
    *
-   * @param preDeleteStorageGroupReq PreDeleteStorageGroupReq
+   * @param preDeleteStorageGroupPlan PreDeleteStorageGroupPlan
    * @return SUCCESS_STATUS
    */
-  public TSStatus preDeleteStorageGroup(PreDeleteStorageGroupReq preDeleteStorageGroupReq) {
-    final PreDeleteStorageGroupReq.PreDeleteType preDeleteType =
-        preDeleteStorageGroupReq.getPreDeleteType();
-    final String storageGroup = preDeleteStorageGroupReq.getStorageGroup();
+  public TSStatus preDeleteStorageGroup(PreDeleteStorageGroupPlan preDeleteStorageGroupPlan) {
+    final PreDeleteStorageGroupPlan.PreDeleteType preDeleteType =
+        preDeleteStorageGroupPlan.getPreDeleteType();
+    final String storageGroup = preDeleteStorageGroupPlan.getStorageGroup();
     StorageGroupPartitionTable storageGroupPartitionTable =
         storageGroupPartitionTables.get(storageGroup);
     if (storageGroupPartitionTable == null) {
@@ -228,23 +228,23 @@ public class PartitionInfo implements SnapshotProcessor {
   /**
    * Thread-safely delete StorageGroup
    *
-   * @param req DeleteRegionsReq
+   * @param plan DeleteStorageGroupPlan
    */
-  public void deleteStorageGroup(DeleteStorageGroupReq req) {
+  public void deleteStorageGroup(DeleteStorageGroupPlan plan) {
     StorageGroupPartitionTable storageGroupPartitionTable =
-        storageGroupPartitionTables.get(req.getName());
+        storageGroupPartitionTables.get(plan.getName());
     if (storageGroupPartitionTable == null) {
       return;
     }
     // Cache RegionReplicaSets
     synchronized (deletedRegionSet) {
-      storageGroupPartitionTable = storageGroupPartitionTables.get(req.getName());
+      storageGroupPartitionTable = storageGroupPartitionTables.get(plan.getName());
       if (storageGroupPartitionTable == null) {
         return;
       }
       deletedRegionSet.addAll(storageGroupPartitionTable.getAllReplicaSets());
       // Clean the cache
-      storageGroupPartitionTables.remove(req.getName());
+      storageGroupPartitionTables.remove(plan.getName());
     }
   }
 
@@ -258,15 +258,15 @@ public class PartitionInfo implements SnapshotProcessor {
   /**
    * Thread-safely get SchemaPartition
    *
-   * @param req SchemaPartitionPlan with partitionSlotsMap
+   * @param plan SchemaPartitionPlan with partitionSlotsMap
    * @return SchemaPartitionDataSet that contains only existing SchemaPartition
    */
-  public DataSet getSchemaPartition(GetSchemaPartitionReq req) {
+  public DataSet getSchemaPartition(GetSchemaPartitionPlan plan) {
     AtomicBoolean isAllPartitionsExist = new AtomicBoolean(true);
     // TODO: Replace this map whit new SchemaPartition
     Map<String, SchemaPartitionTable> schemaPartition = new ConcurrentHashMap<>();
 
-    if (req.getPartitionSlotsMap().size() == 0) {
+    if (plan.getPartitionSlotsMap().size() == 0) {
       // Return all SchemaPartitions when the queried PartitionSlots are empty
       storageGroupPartitionTables.forEach(
           (storageGroup, storageGroupPartitionTable) -> {
@@ -284,7 +284,7 @@ public class PartitionInfo implements SnapshotProcessor {
           });
     } else {
       // Return the SchemaPartition for each StorageGroup
-      req.getPartitionSlotsMap()
+      plan.getPartitionSlotsMap()
           .forEach(
               (storageGroup, partitionSlots) -> {
                 if (isStorageGroupExisted(storageGroup)) {
@@ -313,15 +313,15 @@ public class PartitionInfo implements SnapshotProcessor {
   /**
    * Thread-safely get DataPartition
    *
-   * @param req DataPartitionPlan with partitionSlotsMap
+   * @param plan DataPartitionPlan with partitionSlotsMap
    * @return DataPartitionDataSet that contains only existing DataPartition
    */
-  public DataSet getDataPartition(GetDataPartitionReq req) {
+  public DataSet getDataPartition(GetDataPartitionPlan plan) {
     AtomicBoolean isAllPartitionsExist = new AtomicBoolean(true);
     // TODO: Replace this map whit new DataPartition
     Map<String, DataPartitionTable> dataPartition = new ConcurrentHashMap<>();
 
-    req.getPartitionSlotsMap()
+    plan.getPartitionSlotsMap()
         .forEach(
             (storageGroup, partitionSlots) -> {
               if (isStorageGroupExisted(storageGroup)) {
@@ -355,11 +355,11 @@ public class PartitionInfo implements SnapshotProcessor {
   /**
    * Create SchemaPartition
    *
-   * @param req CreateSchemaPartitionPlan with SchemaPartition assigned result
+   * @param plan CreateSchemaPartitionPlan with SchemaPartition assigned result
    * @return TSStatusCode.SUCCESS_STATUS
    */
-  public TSStatus createSchemaPartition(CreateSchemaPartitionReq req) {
-    req.getAssignedSchemaPartition()
+  public TSStatus createSchemaPartition(CreateSchemaPartitionPlan plan) {
+    plan.getAssignedSchemaPartition()
         .forEach(
             (storageGroup, schemaPartitionTable) -> {
               if (isStorageGroupExisted(storageGroup)) {
@@ -375,11 +375,11 @@ public class PartitionInfo implements SnapshotProcessor {
   /**
    * Create DataPartition
    *
-   * @param req CreateDataPartitionPlan with DataPartition assigned result
+   * @param plan CreateDataPartitionPlan with DataPartition assigned result
    * @return TSStatusCode.SUCCESS_STATUS
    */
-  public TSStatus createDataPartition(CreateDataPartitionReq req) {
-    req.getAssignedDataPartition()
+  public TSStatus createDataPartition(CreateDataPartitionPlan plan) {
+    plan.getAssignedDataPartition()
         .forEach(
             (storageGroup, dataPartitionTable) -> {
               if (isStorageGroupExisted(storageGroup)) {
@@ -419,7 +419,7 @@ public class PartitionInfo implements SnapshotProcessor {
   }
 
   /** Get region information */
-  public DataSet getRegionInfoList(GetRegionInfoListReq regionsInfoReq) {
+  public DataSet getRegionInfoList(GetRegionInfoListPlan regionsInfoPlan) {
     RegionInfoListResp regionResp = new RegionInfoListResp();
     List<TRegionInfo> regionInfoList = new ArrayList<>();
     if (storageGroupPartitionTables.isEmpty()) {
@@ -428,7 +428,7 @@ public class PartitionInfo implements SnapshotProcessor {
     }
     storageGroupPartitionTables.forEach(
         (storageGroup, storageGroupPartitionTable) -> {
-          storageGroupPartitionTable.getRegionInfoList(regionsInfoReq, regionInfoList);
+          storageGroupPartitionTable.getRegionInfoList(regionsInfoPlan, regionInfoList);
         });
     regionInfoList.sort(
         Comparator.comparingInt(regionId -> regionId.getConsensusGroupId().getId()));
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 f5ef81017b..081030cb5c 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
@@ -27,7 +27,7 @@ import org.apache.iotdb.common.rpc.thrift.TTimePartitionSlot;
 import org.apache.iotdb.commons.cluster.RegionStatus;
 import org.apache.iotdb.commons.partition.DataPartitionTable;
 import org.apache.iotdb.commons.partition.SchemaPartitionTable;
-import org.apache.iotdb.confignode.consensus.request.read.GetRegionInfoListReq;
+import org.apache.iotdb.confignode.consensus.request.read.GetRegionInfoListPlan;
 import org.apache.iotdb.db.service.metrics.MetricsService;
 import org.apache.iotdb.db.service.metrics.enums.Metric;
 import org.apache.iotdb.db.service.metrics.enums.Tag;
@@ -364,13 +364,13 @@ public class StorageGroupPartitionTable {
   }
 
   public void getRegionInfoList(
-      GetRegionInfoListReq regionsInfoReq, List<TRegionInfo> regionInfoList) {
+      GetRegionInfoListPlan regionsInfoPlan, List<TRegionInfo> regionInfoList) {
     regionInfoMap.forEach(
         (consensusGroupId, regionGroup) -> {
           TRegionReplicaSet replicaSet = regionGroup.getReplicaSet();
-          if (regionsInfoReq.getRegionType() == null) {
+          if (regionsInfoPlan.getRegionType() == null) {
             buildTRegionsInfo(regionInfoList, replicaSet, regionGroup);
-          } else if (regionsInfoReq.getRegionType().ordinal()
+          } else if (regionsInfoPlan.getRegionType().ordinal()
               == replicaSet.getRegionId().getType().ordinal()) {
             buildTRegionsInfo(regionInfoList, replicaSet, regionGroup);
           }
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/procedure/env/ConfigNodeProcedureEnv.java b/confignode/src/main/java/org/apache/iotdb/confignode/procedure/env/ConfigNodeProcedureEnv.java
index b2ec2c47e5..2634ead3fa 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/procedure/env/ConfigNodeProcedureEnv.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/procedure/env/ConfigNodeProcedureEnv.java
@@ -24,9 +24,9 @@ import org.apache.iotdb.common.rpc.thrift.TDataNodeInfo;
 import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.confignode.client.SyncConfigNodeClientPool;
 import org.apache.iotdb.confignode.client.SyncDataNodeClientPool;
-import org.apache.iotdb.confignode.consensus.request.write.ApplyConfigNodeReq;
-import org.apache.iotdb.confignode.consensus.request.write.DeleteStorageGroupReq;
-import org.apache.iotdb.confignode.consensus.request.write.PreDeleteStorageGroupReq;
+import org.apache.iotdb.confignode.consensus.request.write.ApplyConfigNodePlan;
+import org.apache.iotdb.confignode.consensus.request.write.DeleteStorageGroupPlan;
+import org.apache.iotdb.confignode.consensus.request.write.PreDeleteStorageGroupPlan;
 import org.apache.iotdb.confignode.manager.ConfigManager;
 import org.apache.iotdb.confignode.procedure.scheduler.ProcedureScheduler;
 import org.apache.iotdb.mpp.rpc.thrift.TInvalidateCacheReq;
@@ -80,8 +80,8 @@ public class ConfigNodeProcedureEnv {
    * @return tsStatus
    */
   public TSStatus deleteConfig(String name) {
-    DeleteStorageGroupReq deleteStorageGroupReq = new DeleteStorageGroupReq(name);
-    return configManager.getClusterSchemaManager().deleteStorageGroup(deleteStorageGroupReq);
+    DeleteStorageGroupPlan deleteStorageGroupPlan = new DeleteStorageGroupPlan(name);
+    return configManager.getClusterSchemaManager().deleteStorageGroup(deleteStorageGroupPlan);
   }
 
   /**
@@ -90,7 +90,8 @@ public class ConfigNodeProcedureEnv {
    * @param preDeleteType execute/rollback
    * @param deleteSgName storage group name
    */
-  public void preDelete(PreDeleteStorageGroupReq.PreDeleteType preDeleteType, String deleteSgName) {
+  public void preDelete(
+      PreDeleteStorageGroupPlan.PreDeleteType preDeleteType, String deleteSgName) {
     configManager.getPartitionManager().preDeleteStorageGroup(deleteSgName, preDeleteType);
   }
 
@@ -153,7 +154,7 @@ public class ConfigNodeProcedureEnv {
    * @param tConfigNodeLocation new config node location
    */
   public void addPeer(TConfigNodeLocation tConfigNodeLocation) {
-    configManager.getNodeManager().applyConfigNode(new ApplyConfigNodeReq(tConfigNodeLocation));
+    configManager.getNodeManager().applyConfigNode(new ApplyConfigNodePlan(tConfigNodeLocation));
   }
 
   public ReentrantLock getAddConfigNodeLock() {
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/DeleteStorageGroupProcedure.java b/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/DeleteStorageGroupProcedure.java
index 3d5af6d75f..f95604e74b 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/DeleteStorageGroupProcedure.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/DeleteStorageGroupProcedure.java
@@ -22,7 +22,7 @@ package org.apache.iotdb.confignode.procedure.impl;
 import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.commons.exception.runtime.ThriftSerDeException;
 import org.apache.iotdb.commons.utils.ThriftConfigNodeSerDeUtils;
-import org.apache.iotdb.confignode.consensus.request.write.PreDeleteStorageGroupReq;
+import org.apache.iotdb.confignode.consensus.request.write.PreDeleteStorageGroupPlan;
 import org.apache.iotdb.confignode.procedure.StateMachineProcedure;
 import org.apache.iotdb.confignode.procedure.env.ConfigNodeProcedureEnv;
 import org.apache.iotdb.confignode.procedure.exception.ProcedureException;
@@ -79,7 +79,7 @@ public class DeleteStorageGroupProcedure
           break;
         case DELETE_PRE:
           LOG.info("Pre delete for Storage group {}", deleteSgSchema.getName());
-          env.preDelete(PreDeleteStorageGroupReq.PreDeleteType.EXECUTE, deleteSgSchema.getName());
+          env.preDelete(PreDeleteStorageGroupPlan.PreDeleteType.EXECUTE, deleteSgSchema.getName());
           setNextState(DeleteStorageGroupState.INVALIDATE_CACHE);
           break;
         case INVALIDATE_CACHE:
@@ -123,7 +123,7 @@ public class DeleteStorageGroupProcedure
       case DELETE_PRE:
       case INVALIDATE_CACHE:
         LOG.info("Rollback preDeleted:{}", deleteSgSchema.getName());
-        env.preDelete(PreDeleteStorageGroupReq.PreDeleteType.ROLLBACK, deleteSgSchema.getName());
+        env.preDelete(PreDeleteStorageGroupPlan.PreDeleteType.ROLLBACK, deleteSgSchema.getName());
         break;
     }
   }
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/procedure/store/ConfigProcedureStore.java b/confignode/src/main/java/org/apache/iotdb/confignode/procedure/store/ConfigProcedureStore.java
index d21b250b31..b2c50ff518 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/procedure/store/ConfigProcedureStore.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/procedure/store/ConfigProcedureStore.java
@@ -20,8 +20,8 @@
 package org.apache.iotdb.confignode.procedure.store;
 
 import org.apache.iotdb.commons.conf.CommonDescriptor;
-import org.apache.iotdb.confignode.consensus.request.write.DeleteProcedureReq;
-import org.apache.iotdb.confignode.consensus.request.write.UpdateProcedureReq;
+import org.apache.iotdb.confignode.consensus.request.write.DeleteProcedurePlan;
+import org.apache.iotdb.confignode.consensus.request.write.UpdateProcedurePlan;
 import org.apache.iotdb.confignode.manager.ConfigManager;
 import org.apache.iotdb.confignode.manager.ConsensusManager;
 import org.apache.iotdb.confignode.persistence.ProcedureInfo;
@@ -75,12 +75,12 @@ public class ConfigProcedureStore implements IProcedureStore {
 
   @Override
   public void update(Procedure procedure) {
-    UpdateProcedureReq updateProcedureReq = new UpdateProcedureReq();
+    UpdateProcedurePlan updateProcedurePlan = new UpdateProcedurePlan();
     ProcedureFactory.ProcedureType procedureType = ProcedureFactory.getProcedureType(procedure);
     if (procedureType != null) {
-      updateProcedureReq.setProcedure(procedure);
+      updateProcedurePlan.setProcedure(procedure);
     }
-    getConsensusManager().write(updateProcedureReq);
+    getConsensusManager().write(updateProcedurePlan);
   }
 
   @Override
@@ -92,9 +92,9 @@ public class ConfigProcedureStore implements IProcedureStore {
 
   @Override
   public void delete(long procId) {
-    DeleteProcedureReq deleteProcedureReq = new DeleteProcedureReq();
-    deleteProcedureReq.setProcId(procId);
-    getConsensusManager().write(deleteProcedureReq);
+    DeleteProcedurePlan deleteProcedurePlan = new DeleteProcedurePlan();
+    deleteProcedurePlan.setProcId(procId);
+    getConsensusManager().write(deleteProcedurePlan);
   }
 
   @Override
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 88b82f4f9c..916333f1c7 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
@@ -28,21 +28,21 @@ import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.commons.utils.TestOnly;
 import org.apache.iotdb.confignode.client.SyncConfigNodeClientPool;
 import org.apache.iotdb.confignode.conf.ConfigNodeDescriptor;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequestType;
-import org.apache.iotdb.confignode.consensus.request.auth.AuthorReq;
-import org.apache.iotdb.confignode.consensus.request.read.CountStorageGroupReq;
-import org.apache.iotdb.confignode.consensus.request.read.GetDataNodeInfoReq;
-import org.apache.iotdb.confignode.consensus.request.read.GetDataPartitionReq;
-import org.apache.iotdb.confignode.consensus.request.read.GetOrCreateDataPartitionReq;
-import org.apache.iotdb.confignode.consensus.request.read.GetRegionInfoListReq;
-import org.apache.iotdb.confignode.consensus.request.read.GetStorageGroupReq;
-import org.apache.iotdb.confignode.consensus.request.write.RegisterDataNodeReq;
-import org.apache.iotdb.confignode.consensus.request.write.RemoveConfigNodeReq;
-import org.apache.iotdb.confignode.consensus.request.write.SetDataReplicationFactorReq;
-import org.apache.iotdb.confignode.consensus.request.write.SetSchemaReplicationFactorReq;
-import org.apache.iotdb.confignode.consensus.request.write.SetStorageGroupReq;
-import org.apache.iotdb.confignode.consensus.request.write.SetTTLReq;
-import org.apache.iotdb.confignode.consensus.request.write.SetTimePartitionIntervalReq;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlanType;
+import org.apache.iotdb.confignode.consensus.request.auth.AuthorPlan;
+import org.apache.iotdb.confignode.consensus.request.read.CountStorageGroupPlan;
+import org.apache.iotdb.confignode.consensus.request.read.GetDataNodeInfoPlan;
+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.GetRegionInfoListPlan;
+import org.apache.iotdb.confignode.consensus.request.read.GetStorageGroupPlan;
+import org.apache.iotdb.confignode.consensus.request.write.RegisterDataNodePlan;
+import org.apache.iotdb.confignode.consensus.request.write.RemoveConfigNodePlan;
+import org.apache.iotdb.confignode.consensus.request.write.SetDataReplicationFactorPlan;
+import org.apache.iotdb.confignode.consensus.request.write.SetSchemaReplicationFactorPlan;
+import org.apache.iotdb.confignode.consensus.request.write.SetStorageGroupPlan;
+import org.apache.iotdb.confignode.consensus.request.write.SetTTLPlan;
+import org.apache.iotdb.confignode.consensus.request.write.SetTimePartitionIntervalPlan;
 import org.apache.iotdb.confignode.consensus.response.CountStorageGroupResp;
 import org.apache.iotdb.confignode.consensus.response.DataNodeConfigurationResp;
 import org.apache.iotdb.confignode.consensus.response.DataNodeInfosResp;
@@ -123,7 +123,7 @@ public class ConfigNodeRPCServiceProcessor implements IConfigNodeRPCService.Ifac
 
   @Override
   public TDataNodeRegisterResp registerDataNode(TDataNodeRegisterReq req) throws TException {
-    RegisterDataNodeReq registerReq = new RegisterDataNodeReq(req.getDataNodeInfo());
+    RegisterDataNodePlan registerReq = new RegisterDataNodePlan(req.getDataNodeInfo());
     DataNodeConfigurationResp registerResp =
         (DataNodeConfigurationResp) configManager.registerDataNode(registerReq);
 
@@ -144,7 +144,7 @@ public class ConfigNodeRPCServiceProcessor implements IConfigNodeRPCService.Ifac
 
   @Override
   public TDataNodeInfoResp getDataNodeInfo(int dataNodeID) throws TException {
-    GetDataNodeInfoReq queryReq = new GetDataNodeInfoReq(dataNodeID);
+    GetDataNodeInfoPlan queryReq = new GetDataNodeInfoPlan(dataNodeID);
     DataNodeInfosResp queryResp = (DataNodeInfosResp) configManager.getDataNodeInfo(queryReq);
 
     TDataNodeInfoResp resp = new TDataNodeInfoResp();
@@ -182,7 +182,7 @@ public class ConfigNodeRPCServiceProcessor implements IConfigNodeRPCService.Ifac
     storageGroupSchema.setMaxSchemaRegionGroupCount(0);
     storageGroupSchema.setMaxDataRegionGroupCount(0);
 
-    SetStorageGroupReq setReq = new SetStorageGroupReq(storageGroupSchema);
+    SetStorageGroupPlan setReq = new SetStorageGroupPlan(storageGroupSchema);
     TSStatus resp = configManager.setStorageGroup(setReq);
 
     // Print log to record the ConfigNode that performs the set SetStorageGroupRequest
@@ -205,25 +205,26 @@ public class ConfigNodeRPCServiceProcessor implements IConfigNodeRPCService.Ifac
 
   @Override
   public TSStatus setTTL(TSetTTLReq req) throws TException {
-    return configManager.setTTL(new SetTTLReq(req.getStorageGroup(), req.getTTL()));
+    return configManager.setTTL(new SetTTLPlan(req.getStorageGroup(), req.getTTL()));
   }
 
   @Override
   public TSStatus setSchemaReplicationFactor(TSetSchemaReplicationFactorReq req) throws TException {
     return configManager.setSchemaReplicationFactor(
-        new SetSchemaReplicationFactorReq(req.getStorageGroup(), req.getSchemaReplicationFactor()));
+        new SetSchemaReplicationFactorPlan(
+            req.getStorageGroup(), req.getSchemaReplicationFactor()));
   }
 
   @Override
   public TSStatus setDataReplicationFactor(TSetDataReplicationFactorReq req) throws TException {
     return configManager.setDataReplicationFactor(
-        new SetDataReplicationFactorReq(req.getStorageGroup(), req.getDataReplicationFactor()));
+        new SetDataReplicationFactorPlan(req.getStorageGroup(), req.getDataReplicationFactor()));
   }
 
   @Override
   public TSStatus setTimePartitionInterval(TSetTimePartitionIntervalReq req) throws TException {
     return configManager.setTimePartitionInterval(
-        new SetTimePartitionIntervalReq(req.getStorageGroup(), req.getTimePartitionInterval()));
+        new SetTimePartitionIntervalPlan(req.getStorageGroup(), req.getTimePartitionInterval()));
   }
 
   @Override
@@ -232,7 +233,7 @@ public class ConfigNodeRPCServiceProcessor implements IConfigNodeRPCService.Ifac
     CountStorageGroupResp countStorageGroupResp =
         (CountStorageGroupResp)
             configManager.countMatchedStorageGroups(
-                new CountStorageGroupReq(storageGroupPathPattern));
+                new CountStorageGroupPlan(storageGroupPathPattern));
 
     TCountStorageGroupResp resp = new TCountStorageGroupResp();
     countStorageGroupResp.convertToRPCCountStorageGroupResp(resp);
@@ -245,7 +246,7 @@ public class ConfigNodeRPCServiceProcessor implements IConfigNodeRPCService.Ifac
     StorageGroupSchemaResp storageGroupSchemaResp =
         (StorageGroupSchemaResp)
             configManager.getMatchedStorageGroupSchemas(
-                new GetStorageGroupReq(storageGroupPathPattern));
+                new GetStorageGroupPlan(storageGroupPathPattern));
 
     TStorageGroupSchemaResp resp = new TStorageGroupSchemaResp();
     storageGroupSchemaResp.convertToRPCStorageGroupSchemaResp(resp);
@@ -278,14 +279,14 @@ public class ConfigNodeRPCServiceProcessor implements IConfigNodeRPCService.Ifac
 
   @Override
   public TDataPartitionResp getDataPartition(TDataPartitionReq req) throws TException {
-    GetDataPartitionReq getDataPartitionReq = new GetDataPartitionReq();
-    getDataPartitionReq.convertFromRpcTDataPartitionReq(req);
-    return configManager.getDataPartition(getDataPartitionReq);
+    GetDataPartitionPlan getDataPartitionPlan = new GetDataPartitionPlan();
+    getDataPartitionPlan.convertFromRpcTDataPartitionReq(req);
+    return configManager.getDataPartition(getDataPartitionPlan);
   }
 
   @Override
   public TDataPartitionResp getOrCreateDataPartition(TDataPartitionReq req) throws TException {
-    GetOrCreateDataPartitionReq getOrCreateDataPartitionReq = new GetOrCreateDataPartitionReq();
+    GetOrCreateDataPartitionPlan getOrCreateDataPartitionReq = new GetOrCreateDataPartitionPlan();
     getOrCreateDataPartitionReq.convertFromRpcTDataPartitionReq(req);
     return configManager.getOrCreateDataPartition(getOrCreateDataPartitionReq);
   }
@@ -296,12 +297,12 @@ public class ConfigNodeRPCServiceProcessor implements IConfigNodeRPCService.Ifac
         || req.getAuthorType() >= AuthorOperator.AuthorType.values().length) {
       throw new IndexOutOfBoundsException("Invalid Author Type ordinal");
     }
-    AuthorReq plan = null;
+    AuthorPlan plan = null;
     try {
       plan =
-          new AuthorReq(
-              ConfigRequestType.values()[
-                  req.getAuthorType() + ConfigRequestType.Author.ordinal() + 1],
+          new AuthorPlan(
+              ConfigPhysicalPlanType.values()[
+                  req.getAuthorType() + ConfigPhysicalPlanType.Author.ordinal() + 1],
               req.getUserName(),
               req.getRoleName(),
               req.getPassword(),
@@ -320,12 +321,12 @@ public class ConfigNodeRPCServiceProcessor implements IConfigNodeRPCService.Ifac
         || req.getAuthorType() >= AuthorOperator.AuthorType.values().length) {
       throw new IndexOutOfBoundsException("Invalid Author Type ordinal");
     }
-    AuthorReq plan = null;
+    AuthorPlan plan = null;
     try {
       plan =
-          new AuthorReq(
-              ConfigRequestType.values()[
-                  req.getAuthorType() + ConfigRequestType.Author.ordinal() + 1],
+          new AuthorPlan(
+              ConfigPhysicalPlanType.values()[
+                  req.getAuthorType() + ConfigPhysicalPlanType.Author.ordinal() + 1],
               req.getUserName(),
               req.getRoleName(),
               req.getPassword(),
@@ -375,9 +376,9 @@ public class ConfigNodeRPCServiceProcessor implements IConfigNodeRPCService.Ifac
    */
   @Override
   public TSStatus removeConfigNode(TConfigNodeLocation configNodeLocation) throws TException {
-    RemoveConfigNodeReq removeConfigNodeReq = new RemoveConfigNodeReq(configNodeLocation);
+    RemoveConfigNodePlan removeConfigNodePlan = new RemoveConfigNodePlan(configNodeLocation);
 
-    TSStatus status = configManager.removeConfigNode(removeConfigNodeReq);
+    TSStatus status = configManager.removeConfigNode(removeConfigNodePlan);
     if (status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
       status = SyncConfigNodeClientPool.getInstance().stopConfigNode(configNodeLocation);
     }
@@ -451,9 +452,9 @@ public class ConfigNodeRPCServiceProcessor implements IConfigNodeRPCService.Ifac
 
   @Override
   public TShowRegionResp showRegion(TShowRegionReq showRegionReq) throws TException {
-    GetRegionInfoListReq getRegionsinfoReq =
-        new GetRegionInfoListReq(showRegionReq.getConsensusGroupType());
-    RegionInfoListResp dataSet = (RegionInfoListResp) configManager.showRegion(getRegionsinfoReq);
+    GetRegionInfoListPlan getRegionsinfoPlan =
+        new GetRegionInfoListPlan(showRegionReq.getConsensusGroupType());
+    RegionInfoListResp dataSet = (RegionInfoListResp) configManager.showRegion(getRegionsinfoPlan);
     TShowRegionResp showRegionResp = new TShowRegionResp();
     showRegionResp.setStatus(dataSet.getStatus());
     showRegionResp.setRegionInfoList(dataSet.getRegionInfoList());
diff --git a/confignode/src/test/java/org/apache/iotdb/confignode/consensus/request/ConfigRequestSerDeTest.java b/confignode/src/test/java/org/apache/iotdb/confignode/consensus/request/ConfigPhysicalPlanSerDeTest.java
similarity index 60%
rename from confignode/src/test/java/org/apache/iotdb/confignode/consensus/request/ConfigRequestSerDeTest.java
rename to confignode/src/test/java/org/apache/iotdb/confignode/consensus/request/ConfigPhysicalPlanSerDeTest.java
index b1fdb3a05c..fb5ca7bd28 100644
--- a/confignode/src/test/java/org/apache/iotdb/confignode/consensus/request/ConfigRequestSerDeTest.java
+++ b/confignode/src/test/java/org/apache/iotdb/confignode/consensus/request/ConfigPhysicalPlanSerDeTest.java
@@ -32,31 +32,31 @@ import org.apache.iotdb.commons.auth.entity.PrivilegeType;
 import org.apache.iotdb.commons.partition.DataPartitionTable;
 import org.apache.iotdb.commons.partition.SchemaPartitionTable;
 import org.apache.iotdb.commons.partition.SeriesPartitionTable;
-import org.apache.iotdb.confignode.consensus.request.auth.AuthorReq;
-import org.apache.iotdb.confignode.consensus.request.read.CountStorageGroupReq;
-import org.apache.iotdb.confignode.consensus.request.read.GetDataNodeInfoReq;
-import org.apache.iotdb.confignode.consensus.request.read.GetDataPartitionReq;
-import org.apache.iotdb.confignode.consensus.request.read.GetOrCreateDataPartitionReq;
-import org.apache.iotdb.confignode.consensus.request.read.GetOrCreateSchemaPartitionReq;
-import org.apache.iotdb.confignode.consensus.request.read.GetRegionInfoListReq;
-import org.apache.iotdb.confignode.consensus.request.read.GetSchemaPartitionReq;
-import org.apache.iotdb.confignode.consensus.request.read.GetStorageGroupReq;
-import org.apache.iotdb.confignode.consensus.request.write.AdjustMaxRegionGroupCountReq;
-import org.apache.iotdb.confignode.consensus.request.write.ApplyConfigNodeReq;
-import org.apache.iotdb.confignode.consensus.request.write.CreateDataPartitionReq;
-import org.apache.iotdb.confignode.consensus.request.write.CreateRegionsReq;
-import org.apache.iotdb.confignode.consensus.request.write.CreateSchemaPartitionReq;
-import org.apache.iotdb.confignode.consensus.request.write.DeleteProcedureReq;
-import org.apache.iotdb.confignode.consensus.request.write.DeleteRegionsReq;
-import org.apache.iotdb.confignode.consensus.request.write.DeleteStorageGroupReq;
-import org.apache.iotdb.confignode.consensus.request.write.RegisterDataNodeReq;
-import org.apache.iotdb.confignode.consensus.request.write.RemoveConfigNodeReq;
-import org.apache.iotdb.confignode.consensus.request.write.SetDataReplicationFactorReq;
-import org.apache.iotdb.confignode.consensus.request.write.SetSchemaReplicationFactorReq;
-import org.apache.iotdb.confignode.consensus.request.write.SetStorageGroupReq;
-import org.apache.iotdb.confignode.consensus.request.write.SetTTLReq;
-import org.apache.iotdb.confignode.consensus.request.write.SetTimePartitionIntervalReq;
-import org.apache.iotdb.confignode.consensus.request.write.UpdateProcedureReq;
+import org.apache.iotdb.confignode.consensus.request.auth.AuthorPlan;
+import org.apache.iotdb.confignode.consensus.request.read.CountStorageGroupPlan;
+import org.apache.iotdb.confignode.consensus.request.read.GetDataNodeInfoPlan;
+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.GetOrCreateSchemaPartitionPlan;
+import org.apache.iotdb.confignode.consensus.request.read.GetRegionInfoListPlan;
+import org.apache.iotdb.confignode.consensus.request.read.GetSchemaPartitionPlan;
+import org.apache.iotdb.confignode.consensus.request.read.GetStorageGroupPlan;
+import org.apache.iotdb.confignode.consensus.request.write.AdjustMaxRegionGroupCountPlan;
+import org.apache.iotdb.confignode.consensus.request.write.ApplyConfigNodePlan;
+import org.apache.iotdb.confignode.consensus.request.write.CreateDataPartitionPlan;
+import org.apache.iotdb.confignode.consensus.request.write.CreateRegionsPlan;
+import org.apache.iotdb.confignode.consensus.request.write.CreateSchemaPartitionPlan;
+import org.apache.iotdb.confignode.consensus.request.write.DeleteProcedurePlan;
+import org.apache.iotdb.confignode.consensus.request.write.DeleteRegionsPlan;
+import org.apache.iotdb.confignode.consensus.request.write.DeleteStorageGroupPlan;
+import org.apache.iotdb.confignode.consensus.request.write.RegisterDataNodePlan;
+import org.apache.iotdb.confignode.consensus.request.write.RemoveConfigNodePlan;
+import org.apache.iotdb.confignode.consensus.request.write.SetDataReplicationFactorPlan;
+import org.apache.iotdb.confignode.consensus.request.write.SetSchemaReplicationFactorPlan;
+import org.apache.iotdb.confignode.consensus.request.write.SetStorageGroupPlan;
+import org.apache.iotdb.confignode.consensus.request.write.SetTTLPlan;
+import org.apache.iotdb.confignode.consensus.request.write.SetTimePartitionIntervalPlan;
+import org.apache.iotdb.confignode.consensus.request.write.UpdateProcedurePlan;
 import org.apache.iotdb.confignode.procedure.Procedure;
 import org.apache.iotdb.confignode.procedure.impl.DeleteStorageGroupProcedure;
 import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
@@ -75,10 +75,10 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-public class ConfigRequestSerDeTest {
+public class ConfigPhysicalPlanSerDeTest {
 
   @Test
-  public void RegisterDataNodeReqTest() throws IOException {
+  public void RegisterDataNodePlanTest() throws IOException {
     TDataNodeLocation dataNodeLocation = new TDataNodeLocation();
     dataNodeLocation.setDataNodeId(1);
     dataNodeLocation.setClientRpcEndPoint(new TEndPoint("0.0.0.0", 6667));
@@ -92,107 +92,107 @@ public class ConfigRequestSerDeTest {
     dataNodeInfo.setCpuCoreNum(16);
     dataNodeInfo.setMaxMemory(34359738368L);
 
-    RegisterDataNodeReq req0 = new RegisterDataNodeReq(dataNodeInfo);
-    RegisterDataNodeReq req1 =
-        (RegisterDataNodeReq) ConfigRequest.Factory.create(req0.serializeToByteBuffer());
-    Assert.assertEquals(req0, req1);
+    RegisterDataNodePlan plan0 = new RegisterDataNodePlan(dataNodeInfo);
+    RegisterDataNodePlan plan1 =
+        (RegisterDataNodePlan) ConfigPhysicalPlan.Factory.create(plan0.serializeToByteBuffer());
+    Assert.assertEquals(plan0, plan1);
   }
 
   @Test
-  public void QueryDataNodeInfoReqTest() throws IOException {
-    GetDataNodeInfoReq req0 = new GetDataNodeInfoReq(-1);
-    GetDataNodeInfoReq req1 =
-        (GetDataNodeInfoReq) ConfigRequest.Factory.create(req0.serializeToByteBuffer());
-    Assert.assertEquals(req0, req1);
+  public void QueryDataNodeInfoPlanTest() throws IOException {
+    GetDataNodeInfoPlan plan0 = new GetDataNodeInfoPlan(-1);
+    GetDataNodeInfoPlan plan1 =
+        (GetDataNodeInfoPlan) ConfigPhysicalPlan.Factory.create(plan0.serializeToByteBuffer());
+    Assert.assertEquals(plan0, plan1);
   }
 
   @Test
-  public void SetStorageGroupReqTest() throws IOException {
-    SetStorageGroupReq req0 =
-        new SetStorageGroupReq(
+  public void SetStorageGroupPlanTest() throws IOException {
+    SetStorageGroupPlan req0 =
+        new SetStorageGroupPlan(
             new TStorageGroupSchema()
                 .setName("sg")
                 .setTTL(Long.MAX_VALUE)
                 .setSchemaReplicationFactor(3)
                 .setDataReplicationFactor(3)
                 .setTimePartitionInterval(604800));
-    SetStorageGroupReq req1 =
-        (SetStorageGroupReq) ConfigRequest.Factory.create(req0.serializeToByteBuffer());
+    SetStorageGroupPlan req1 =
+        (SetStorageGroupPlan) ConfigPhysicalPlan.Factory.create(req0.serializeToByteBuffer());
     Assert.assertEquals(req0, req1);
   }
 
   @Test
-  public void DeleteStorageGroupReqTest() throws IOException {
-    DeleteStorageGroupReq req0 = new DeleteStorageGroupReq("root.sg");
-    DeleteStorageGroupReq req1 =
-        (DeleteStorageGroupReq) ConfigRequest.Factory.create(req0.serializeToByteBuffer());
+  public void DeleteStorageGroupPlanTest() throws IOException {
+    // TODO: Add serialize and deserialize test
+    DeleteStorageGroupPlan req0 = new DeleteStorageGroupPlan("root.sg");
+    DeleteStorageGroupPlan req1 =
+        (DeleteStorageGroupPlan) ConfigPhysicalPlan.Factory.create(req0.serializeToByteBuffer());
     Assert.assertEquals(req0, req1);
   }
 
   @Test
-  public void SetTTLReqTest() throws IOException {
-    SetTTLReq req0 = new SetTTLReq("root.sg0", Long.MAX_VALUE);
-    SetTTLReq req1 = (SetTTLReq) ConfigRequest.Factory.create(req0.serializeToByteBuffer());
+  public void SetTTLPlanTest() throws IOException {
+    SetTTLPlan req0 = new SetTTLPlan("root.sg0", Long.MAX_VALUE);
+    SetTTLPlan req1 = (SetTTLPlan) ConfigPhysicalPlan.Factory.create(req0.serializeToByteBuffer());
     Assert.assertEquals(req0, req1);
   }
 
   @Test
-  public void SetSchemaReplicationFactorReqTest() throws IOException {
-    SetSchemaReplicationFactorReq req0 = new SetSchemaReplicationFactorReq("root.sg0", 3);
-    SetSchemaReplicationFactorReq req1 =
-        (SetSchemaReplicationFactorReq) ConfigRequest.Factory.create(req0.serializeToByteBuffer());
+  public void SetSchemaReplicationFactorPlanTest() throws IOException {
+    SetSchemaReplicationFactorPlan req0 = new SetSchemaReplicationFactorPlan("root.sg0", 3);
+    SetSchemaReplicationFactorPlan req1 =
+        (SetSchemaReplicationFactorPlan)
+            ConfigPhysicalPlan.Factory.create(req0.serializeToByteBuffer());
     Assert.assertEquals(req0, req1);
   }
 
   @Test
-  public void SetDataReplicationFactorReqTest() throws IOException {
-    SetDataReplicationFactorReq req0 = new SetDataReplicationFactorReq("root.sg0", 3);
-    SetDataReplicationFactorReq req1 =
-        (SetDataReplicationFactorReq) ConfigRequest.Factory.create(req0.serializeToByteBuffer());
+  public void SetDataReplicationFactorPlanTest() throws IOException {
+    SetDataReplicationFactorPlan req0 = new SetDataReplicationFactorPlan("root.sg0", 3);
+    SetDataReplicationFactorPlan req1 =
+        (SetDataReplicationFactorPlan)
+            ConfigPhysicalPlan.Factory.create(req0.serializeToByteBuffer());
     Assert.assertEquals(req0, req1);
   }
 
   @Test
-  public void SetTimePartitionIntervalReqTest() throws IOException {
-    SetTimePartitionIntervalReq req0 = new SetTimePartitionIntervalReq("root.sg0", 6048000L);
-    SetTimePartitionIntervalReq req1 =
-        (SetTimePartitionIntervalReq) ConfigRequest.Factory.create(req0.serializeToByteBuffer());
+  public void SetTimePartitionIntervalPlanTest() throws IOException {
+    SetTimePartitionIntervalPlan req0 = new SetTimePartitionIntervalPlan("root.sg0", 6048000L);
+    SetTimePartitionIntervalPlan req1 =
+        (SetTimePartitionIntervalPlan)
+            ConfigPhysicalPlan.Factory.create(req0.serializeToByteBuffer());
     Assert.assertEquals(req0, req1);
   }
 
   @Test
-  public void AdjustMaxRegionGroupCountReqTest() throws IOException {
-    AdjustMaxRegionGroupCountReq req0 = new AdjustMaxRegionGroupCountReq();
+  public void AdjustMaxRegionGroupCountPlanTest() throws IOException {
+    AdjustMaxRegionGroupCountPlan req0 = new AdjustMaxRegionGroupCountPlan();
     for (int i = 0; i < 3; i++) {
       req0.putEntry("root.sg" + i, new Pair<>(i, i));
     }
 
-    AdjustMaxRegionGroupCountReq req1 =
-        (AdjustMaxRegionGroupCountReq) ConfigRequest.Factory.create(req0.serializeToByteBuffer());
+    AdjustMaxRegionGroupCountPlan req1 =
+        (AdjustMaxRegionGroupCountPlan)
+            ConfigPhysicalPlan.Factory.create(req0.serializeToByteBuffer());
     Assert.assertEquals(req0, req1);
   }
 
   @Test
-  public void CountStorageGroupReqTest() throws IOException {
-    CountStorageGroupReq req0 = new CountStorageGroupReq(Arrays.asList("root", "sg"));
-    CountStorageGroupReq req1 =
-        (CountStorageGroupReq) ConfigRequest.Factory.create(req0.serializeToByteBuffer());
+  public void CountStorageGroupPlanTest() throws IOException {
+    CountStorageGroupPlan req0 = new CountStorageGroupPlan(Arrays.asList("root", "sg"));
+    CountStorageGroupPlan req1 =
+        (CountStorageGroupPlan) ConfigPhysicalPlan.Factory.create(req0.serializeToByteBuffer());
     Assert.assertEquals(req0, req1);
   }
 
   @Test
-  public void GetStorageGroupReqTest() throws IOException {
-    GetStorageGroupReq req0 = new GetStorageGroupReq(Arrays.asList("root", "sg"));
-    CountStorageGroupReq req1 =
-        (CountStorageGroupReq) ConfigRequest.Factory.create(req0.serializeToByteBuffer());
+  public void GetStorageGroupPlanTest() throws IOException {
+    GetStorageGroupPlan req0 = new GetStorageGroupPlan(Arrays.asList("root", "sg"));
+    CountStorageGroupPlan req1 =
+        (CountStorageGroupPlan) ConfigPhysicalPlan.Factory.create(req0.serializeToByteBuffer());
     Assert.assertEquals(req0, req1);
   }
 
-  @Test
-  public void DeleteStorageGroupPlanTest() {
-    // TODO: Add serialize and deserialize test
-  }
-
   @Test
   public void CreateRegionsPlanTest() throws IOException {
     TDataNodeLocation dataNodeLocation = new TDataNodeLocation();
@@ -203,7 +203,7 @@ public class ConfigRequestSerDeTest {
     dataNodeLocation.setDataRegionConsensusEndPoint(new TEndPoint("0.0.0.0", 40010));
     dataNodeLocation.setSchemaRegionConsensusEndPoint(new TEndPoint("0.0.0.0", 50010));
 
-    CreateRegionsReq req0 = new CreateRegionsReq();
+    CreateRegionsPlan req0 = new CreateRegionsPlan();
     TRegionReplicaSet dataRegionSet = new TRegionReplicaSet();
     dataRegionSet.setRegionId(new TConsensusGroupId(TConsensusGroupType.DataRegion, 0));
     dataRegionSet.setDataNodeLocations(Collections.singletonList(dataNodeLocation));
@@ -214,19 +214,19 @@ public class ConfigRequestSerDeTest {
     schemaRegionSet.setDataNodeLocations(Collections.singletonList(dataNodeLocation));
     req0.addRegionGroup("root.sg1", schemaRegionSet);
 
-    CreateRegionsReq req1 =
-        (CreateRegionsReq) ConfigRequest.Factory.create(req0.serializeToByteBuffer());
+    CreateRegionsPlan req1 =
+        (CreateRegionsPlan) ConfigPhysicalPlan.Factory.create(req0.serializeToByteBuffer());
     Assert.assertEquals(req0, req1);
   }
 
   @Test
   public void DeleteRegionsPlanTest() throws IOException {
-    DeleteRegionsReq req0 = new DeleteRegionsReq();
+    DeleteRegionsPlan req0 = new DeleteRegionsPlan();
     req0.addDeleteRegion("sg", new TConsensusGroupId(TConsensusGroupType.SchemaRegion, 0));
     req0.addDeleteRegion("sg", new TConsensusGroupId(TConsensusGroupType.DataRegion, 1));
 
-    DeleteRegionsReq req1 =
-        (DeleteRegionsReq) ConfigRequest.Factory.create(req0.serializeToByteBuffer());
+    DeleteRegionsPlan req1 =
+        (DeleteRegionsPlan) ConfigPhysicalPlan.Factory.create(req0.serializeToByteBuffer());
     Assert.assertEquals(req0, req1);
   }
 
@@ -249,10 +249,10 @@ public class ConfigRequestSerDeTest {
     schemaPartitionMap.put(seriesPartitionSlot, consensusGroupId);
     assignedSchemaPartition.put(storageGroup, new SchemaPartitionTable(schemaPartitionMap));
 
-    CreateSchemaPartitionReq req0 = new CreateSchemaPartitionReq();
+    CreateSchemaPartitionPlan req0 = new CreateSchemaPartitionPlan();
     req0.setAssignedSchemaPartition(assignedSchemaPartition);
-    CreateSchemaPartitionReq req1 =
-        (CreateSchemaPartitionReq) ConfigRequest.Factory.create(req0.serializeToByteBuffer());
+    CreateSchemaPartitionPlan req1 =
+        (CreateSchemaPartitionPlan) ConfigPhysicalPlan.Factory.create(req0.serializeToByteBuffer());
     Assert.assertEquals(req0, req1);
   }
 
@@ -264,10 +264,10 @@ public class ConfigRequestSerDeTest {
     Map<String, List<TSeriesPartitionSlot>> partitionSlotsMap = new HashMap<>();
     partitionSlotsMap.put(storageGroup, Collections.singletonList(seriesPartitionSlot));
 
-    GetSchemaPartitionReq req0 = new GetSchemaPartitionReq();
+    GetSchemaPartitionPlan req0 = new GetSchemaPartitionPlan();
     req0.setPartitionSlotsMap(partitionSlotsMap);
-    GetSchemaPartitionReq req1 =
-        (GetSchemaPartitionReq) ConfigRequest.Factory.create(req0.serializeToByteBuffer());
+    GetSchemaPartitionPlan req1 =
+        (GetSchemaPartitionPlan) ConfigPhysicalPlan.Factory.create(req0.serializeToByteBuffer());
     Assert.assertEquals(req0, req1);
   }
 
@@ -279,10 +279,11 @@ public class ConfigRequestSerDeTest {
     Map<String, List<TSeriesPartitionSlot>> partitionSlotsMap = new HashMap<>();
     partitionSlotsMap.put(storageGroup, Collections.singletonList(seriesPartitionSlot));
 
-    GetOrCreateSchemaPartitionReq req0 = new GetOrCreateSchemaPartitionReq();
+    GetOrCreateSchemaPartitionPlan req0 = new GetOrCreateSchemaPartitionPlan();
     req0.setPartitionSlotsMap(partitionSlotsMap);
-    GetOrCreateSchemaPartitionReq req1 =
-        (GetOrCreateSchemaPartitionReq) ConfigRequest.Factory.create(req0.serializeToByteBuffer());
+    GetOrCreateSchemaPartitionPlan req1 =
+        (GetOrCreateSchemaPartitionPlan)
+            ConfigPhysicalPlan.Factory.create(req0.serializeToByteBuffer());
     Assert.assertEquals(req0, req1);
   }
 
@@ -313,10 +314,10 @@ public class ConfigRequestSerDeTest {
     dataPartitionMap.put(seriesPartitionSlot, new SeriesPartitionTable(seriesPartitionMap));
     assignedDataPartition.put(storageGroup, new DataPartitionTable(dataPartitionMap));
 
-    CreateDataPartitionReq req0 = new CreateDataPartitionReq();
+    CreateDataPartitionPlan req0 = new CreateDataPartitionPlan();
     req0.setAssignedDataPartition(assignedDataPartition);
-    CreateDataPartitionReq req1 =
-        (CreateDataPartitionReq) ConfigRequest.Factory.create(req0.serializeToByteBuffer());
+    CreateDataPartitionPlan req1 =
+        (CreateDataPartitionPlan) ConfigPhysicalPlan.Factory.create(req0.serializeToByteBuffer());
     Assert.assertEquals(req0, req1);
   }
 
@@ -332,10 +333,10 @@ public class ConfigRequestSerDeTest {
     partitionSlotsMap.get(storageGroup).put(seriesPartitionSlot, new ArrayList<>());
     partitionSlotsMap.get(storageGroup).get(seriesPartitionSlot).add(timePartitionSlot);
 
-    GetDataPartitionReq req0 = new GetDataPartitionReq();
+    GetDataPartitionPlan req0 = new GetDataPartitionPlan();
     req0.setPartitionSlotsMap(partitionSlotsMap);
-    GetDataPartitionReq req1 =
-        (GetDataPartitionReq) ConfigRequest.Factory.create(req0.serializeToByteBuffer());
+    GetDataPartitionPlan req1 =
+        (GetDataPartitionPlan) ConfigPhysicalPlan.Factory.create(req0.serializeToByteBuffer());
     Assert.assertEquals(req0, req1);
   }
 
@@ -351,160 +352,180 @@ public class ConfigRequestSerDeTest {
     partitionSlotsMap.get(storageGroup).put(seriesPartitionSlot, new ArrayList<>());
     partitionSlotsMap.get(storageGroup).get(seriesPartitionSlot).add(timePartitionSlot);
 
-    GetOrCreateDataPartitionReq req0 = new GetOrCreateDataPartitionReq();
+    GetOrCreateDataPartitionPlan req0 = new GetOrCreateDataPartitionPlan();
     req0.setPartitionSlotsMap(partitionSlotsMap);
-    GetOrCreateDataPartitionReq req1 =
-        (GetOrCreateDataPartitionReq) ConfigRequest.Factory.create(req0.serializeToByteBuffer());
+    GetOrCreateDataPartitionPlan req1 =
+        (GetOrCreateDataPartitionPlan)
+            ConfigPhysicalPlan.Factory.create(req0.serializeToByteBuffer());
     Assert.assertEquals(req0, req1);
   }
 
   @Test
-  public void AuthorReqTest() throws IOException, AuthException {
+  public void AuthorPlanTest() throws IOException, AuthException {
 
-    AuthorReq req0;
-    AuthorReq req1;
+    AuthorPlan req0;
+    AuthorPlan req1;
     Set<Integer> permissions = new HashSet<>();
     permissions.add(PrivilegeType.GRANT_USER_PRIVILEGE.ordinal());
     permissions.add(PrivilegeType.REVOKE_USER_ROLE.ordinal());
 
     // create user
     req0 =
-        new AuthorReq(
-            ConfigRequestType.CreateUser, "thulab", "", "passwd", "", new HashSet<>(), "");
-    req1 = (AuthorReq) ConfigRequest.Factory.create(req0.serializeToByteBuffer());
+        new AuthorPlan(
+            ConfigPhysicalPlanType.CreateUser, "thulab", "", "passwd", "", new HashSet<>(), "");
+    req1 = (AuthorPlan) ConfigPhysicalPlan.Factory.create(req0.serializeToByteBuffer());
     Assert.assertEquals(req0, req1);
 
     // create role
-    req0 = new AuthorReq(ConfigRequestType.CreateRole, "", "admin", "", "", new HashSet<>(), "");
-    req1 = (AuthorReq) ConfigRequest.Factory.create(req0.serializeToByteBuffer());
+    req0 =
+        new AuthorPlan(ConfigPhysicalPlanType.CreateRole, "", "admin", "", "", new HashSet<>(), "");
+    req1 = (AuthorPlan) ConfigPhysicalPlan.Factory.create(req0.serializeToByteBuffer());
     Assert.assertEquals(req0, req1);
 
     // alter user
     req0 =
-        new AuthorReq(
-            ConfigRequestType.UpdateUser, "tempuser", "", "", "newpwd", new HashSet<>(), "");
-    req1 = (AuthorReq) ConfigRequest.Factory.create(req0.serializeToByteBuffer());
+        new AuthorPlan(
+            ConfigPhysicalPlanType.UpdateUser, "tempuser", "", "", "newpwd", new HashSet<>(), "");
+    req1 = (AuthorPlan) ConfigPhysicalPlan.Factory.create(req0.serializeToByteBuffer());
     Assert.assertEquals(req0, req1);
 
     // grant user
     req0 =
-        new AuthorReq(ConfigRequestType.GrantUser, "tempuser", "", "", "", permissions, "root.ln");
-    req1 = (AuthorReq) ConfigRequest.Factory.create(req0.serializeToByteBuffer());
+        new AuthorPlan(
+            ConfigPhysicalPlanType.GrantUser, "tempuser", "", "", "", permissions, "root.ln");
+    req1 = (AuthorPlan) ConfigPhysicalPlan.Factory.create(req0.serializeToByteBuffer());
     Assert.assertEquals(req0, req1);
 
     // grant role
     req0 =
-        new AuthorReq(
-            ConfigRequestType.GrantRoleToUser,
+        new AuthorPlan(
+            ConfigPhysicalPlanType.GrantRoleToUser,
             "tempuser",
             "temprole",
             "",
             "",
             permissions,
             "root.ln");
-    req1 = (AuthorReq) ConfigRequest.Factory.create(req0.serializeToByteBuffer());
+    req1 = (AuthorPlan) ConfigPhysicalPlan.Factory.create(req0.serializeToByteBuffer());
     Assert.assertEquals(req0, req1);
 
     // grant role to user
-    req0 = new AuthorReq(ConfigRequestType.GrantRole, "", "temprole", "", "", new HashSet<>(), "");
-    req1 = (AuthorReq) ConfigRequest.Factory.create(req0.serializeToByteBuffer());
+    req0 =
+        new AuthorPlan(
+            ConfigPhysicalPlanType.GrantRole, "", "temprole", "", "", new HashSet<>(), "");
+    req1 = (AuthorPlan) ConfigPhysicalPlan.Factory.create(req0.serializeToByteBuffer());
     Assert.assertEquals(req0, req1);
 
     // revoke user
     req0 =
-        new AuthorReq(ConfigRequestType.RevokeUser, "tempuser", "", "", "", permissions, "root.ln");
-    req1 = (AuthorReq) ConfigRequest.Factory.create(req0.serializeToByteBuffer());
+        new AuthorPlan(
+            ConfigPhysicalPlanType.RevokeUser, "tempuser", "", "", "", permissions, "root.ln");
+    req1 = (AuthorPlan) ConfigPhysicalPlan.Factory.create(req0.serializeToByteBuffer());
     Assert.assertEquals(req0, req1);
 
     // revoke role
     req0 =
-        new AuthorReq(ConfigRequestType.RevokeRole, "", "temprole", "", "", permissions, "root.ln");
-    req1 = (AuthorReq) ConfigRequest.Factory.create(req0.serializeToByteBuffer());
+        new AuthorPlan(
+            ConfigPhysicalPlanType.RevokeRole, "", "temprole", "", "", permissions, "root.ln");
+    req1 = (AuthorPlan) ConfigPhysicalPlan.Factory.create(req0.serializeToByteBuffer());
     Assert.assertEquals(req0, req1);
 
     // revoke role from user
     req0 =
-        new AuthorReq(
-            ConfigRequestType.RevokeRoleFromUser,
+        new AuthorPlan(
+            ConfigPhysicalPlanType.RevokeRoleFromUser,
             "tempuser",
             "temprole",
             "",
             "",
             new HashSet<>(),
             "");
-    req1 = (AuthorReq) ConfigRequest.Factory.create(req0.serializeToByteBuffer());
+    req1 = (AuthorPlan) ConfigPhysicalPlan.Factory.create(req0.serializeToByteBuffer());
     Assert.assertEquals(req0, req1);
 
     // drop user
-    req0 = new AuthorReq(ConfigRequestType.DropUser, "xiaoming", "", "", "", new HashSet<>(), "");
-    req1 = (AuthorReq) ConfigRequest.Factory.create(req0.serializeToByteBuffer());
+    req0 =
+        new AuthorPlan(
+            ConfigPhysicalPlanType.DropUser, "xiaoming", "", "", "", new HashSet<>(), "");
+    req1 = (AuthorPlan) ConfigPhysicalPlan.Factory.create(req0.serializeToByteBuffer());
     Assert.assertEquals(req0, req1);
 
     // drop role
-    req0 = new AuthorReq(ConfigRequestType.DropRole, "", "admin", "", "", new HashSet<>(), "");
-    req1 = (AuthorReq) ConfigRequest.Factory.create(req0.serializeToByteBuffer());
+    req0 =
+        new AuthorPlan(ConfigPhysicalPlanType.DropRole, "", "admin", "", "", new HashSet<>(), "");
+    req1 = (AuthorPlan) ConfigPhysicalPlan.Factory.create(req0.serializeToByteBuffer());
     Assert.assertEquals(req0, req1);
 
     // list user
-    req0 = new AuthorReq(ConfigRequestType.ListUser, "", "", "", "", new HashSet<>(), "");
-    req1 = (AuthorReq) ConfigRequest.Factory.create(req0.serializeToByteBuffer());
+    req0 = new AuthorPlan(ConfigPhysicalPlanType.ListUser, "", "", "", "", new HashSet<>(), "");
+    req1 = (AuthorPlan) ConfigPhysicalPlan.Factory.create(req0.serializeToByteBuffer());
     Assert.assertEquals(req0, req1);
 
     // list role
-    req0 = new AuthorReq(ConfigRequestType.ListRole, "", "", "", "", new HashSet<>(), "");
-    req1 = (AuthorReq) ConfigRequest.Factory.create(req0.serializeToByteBuffer());
+    req0 = new AuthorPlan(ConfigPhysicalPlanType.ListRole, "", "", "", "", new HashSet<>(), "");
+    req1 = (AuthorPlan) ConfigPhysicalPlan.Factory.create(req0.serializeToByteBuffer());
     Assert.assertEquals(req0, req1);
 
     // list privileges user
-    req0 = new AuthorReq(ConfigRequestType.ListUserPrivilege, "", "", "", "", new HashSet<>(), "");
-    req1 = (AuthorReq) ConfigRequest.Factory.create(req0.serializeToByteBuffer());
+    req0 =
+        new AuthorPlan(
+            ConfigPhysicalPlanType.ListUserPrivilege, "", "", "", "", new HashSet<>(), "");
+    req1 = (AuthorPlan) ConfigPhysicalPlan.Factory.create(req0.serializeToByteBuffer());
     Assert.assertEquals(req0, req1);
 
     // list privileges role
-    req0 = new AuthorReq(ConfigRequestType.ListRolePrivilege, "", "", "", "", new HashSet<>(), "");
-    req1 = (AuthorReq) ConfigRequest.Factory.create(req0.serializeToByteBuffer());
+    req0 =
+        new AuthorPlan(
+            ConfigPhysicalPlanType.ListRolePrivilege, "", "", "", "", new HashSet<>(), "");
+    req1 = (AuthorPlan) ConfigPhysicalPlan.Factory.create(req0.serializeToByteBuffer());
     Assert.assertEquals(req0, req1);
 
     // list user privileges
-    req0 = new AuthorReq(ConfigRequestType.ListUserPrivilege, "", "", "", "", new HashSet<>(), "");
-    req1 = (AuthorReq) ConfigRequest.Factory.create(req0.serializeToByteBuffer());
+    req0 =
+        new AuthorPlan(
+            ConfigPhysicalPlanType.ListUserPrivilege, "", "", "", "", new HashSet<>(), "");
+    req1 = (AuthorPlan) ConfigPhysicalPlan.Factory.create(req0.serializeToByteBuffer());
     Assert.assertEquals(req0, req1);
 
     // list role privileges
-    req0 = new AuthorReq(ConfigRequestType.ListRolePrivilege, "", "", "", "", new HashSet<>(), "");
-    req1 = (AuthorReq) ConfigRequest.Factory.create(req0.serializeToByteBuffer());
+    req0 =
+        new AuthorPlan(
+            ConfigPhysicalPlanType.ListRolePrivilege, "", "", "", "", new HashSet<>(), "");
+    req1 = (AuthorPlan) ConfigPhysicalPlan.Factory.create(req0.serializeToByteBuffer());
     Assert.assertEquals(req0, req1);
 
     // list all role of user
-    req0 = new AuthorReq(ConfigRequestType.ListUserRoles, "", "", "", "", new HashSet<>(), "");
-    req1 = (AuthorReq) ConfigRequest.Factory.create(req0.serializeToByteBuffer());
+    req0 =
+        new AuthorPlan(ConfigPhysicalPlanType.ListUserRoles, "", "", "", "", new HashSet<>(), "");
+    req1 = (AuthorPlan) ConfigPhysicalPlan.Factory.create(req0.serializeToByteBuffer());
     Assert.assertEquals(req0, req1);
 
     // list all user of role
-    req0 = new AuthorReq(ConfigRequestType.ListRoleUsers, "", "", "", "", new HashSet<>(), "");
-    req1 = (AuthorReq) ConfigRequest.Factory.create(req0.serializeToByteBuffer());
+    req0 =
+        new AuthorPlan(ConfigPhysicalPlanType.ListRoleUsers, "", "", "", "", new HashSet<>(), "");
+    req1 = (AuthorPlan) ConfigPhysicalPlan.Factory.create(req0.serializeToByteBuffer());
     Assert.assertEquals(req0, req1);
   }
 
   @Test
-  public void registerConfigNodeReqTest() throws IOException {
-    ApplyConfigNodeReq req0 =
-        new ApplyConfigNodeReq(
+  public void registerConfigNodePlanTest() throws IOException {
+    ApplyConfigNodePlan req0 =
+        new ApplyConfigNodePlan(
             new TConfigNodeLocation(
                 0, new TEndPoint("0.0.0.0", 22277), new TEndPoint("0.0.0.0", 22278)));
-    ApplyConfigNodeReq req1 =
-        (ApplyConfigNodeReq) ConfigRequest.Factory.create(req0.serializeToByteBuffer());
+    ApplyConfigNodePlan req1 =
+        (ApplyConfigNodePlan) ConfigPhysicalPlan.Factory.create(req0.serializeToByteBuffer());
     Assert.assertEquals(req0, req1);
   }
 
   @Test
-  public void removeConfigNodeReqTest() throws IOException {
-    RemoveConfigNodeReq req0 =
-        new RemoveConfigNodeReq(
+  public void removeConfigNodePlanTest() throws IOException {
+    RemoveConfigNodePlan req0 =
+        new RemoveConfigNodePlan(
             new TConfigNodeLocation(
                 0, new TEndPoint("0.0.0.0", 22277), new TEndPoint("0.0.0.0", 22278)));
-    RemoveConfigNodeReq req1 =
-        (RemoveConfigNodeReq) ConfigRequest.Factory.create(req0.serializeToByteBuffer());
+    RemoveConfigNodePlan req1 =
+        (RemoveConfigNodePlan) ConfigPhysicalPlan.Factory.create(req0.serializeToByteBuffer());
     Assert.assertEquals(req0, req1);
   }
 
@@ -514,43 +535,43 @@ public class ConfigRequestSerDeTest {
     TStorageGroupSchema storageGroupSchema = new TStorageGroupSchema();
     storageGroupSchema.setName("root.sg");
     procedure.setDeleteSgSchema(storageGroupSchema);
-    UpdateProcedureReq updateProcedureReq = new UpdateProcedureReq();
-    updateProcedureReq.setProcedure(procedure);
-    UpdateProcedureReq reqNew =
-        (UpdateProcedureReq)
-            ConfigRequest.Factory.create(updateProcedureReq.serializeToByteBuffer());
+    UpdateProcedurePlan updateProcedurePlan = new UpdateProcedurePlan();
+    updateProcedurePlan.setProcedure(procedure);
+    UpdateProcedurePlan reqNew =
+        (UpdateProcedurePlan)
+            ConfigPhysicalPlan.Factory.create(updateProcedurePlan.serializeToByteBuffer());
     Procedure proc = reqNew.getProcedure();
     Assert.assertEquals(proc, procedure);
   }
 
   @Test
-  public void UpdateProcedureReqTest() throws IOException {
-    UpdateProcedureReq req0 = new UpdateProcedureReq();
+  public void UpdateProcedurePlanTest() throws IOException {
+    UpdateProcedurePlan req0 = new UpdateProcedurePlan();
     DeleteStorageGroupProcedure deleteStorageGroupProcedure = new DeleteStorageGroupProcedure();
     TStorageGroupSchema tStorageGroupSchema = new TStorageGroupSchema();
     tStorageGroupSchema.setName("root.sg");
     deleteStorageGroupProcedure.setDeleteSgSchema(tStorageGroupSchema);
     req0.setProcedure(deleteStorageGroupProcedure);
-    UpdateProcedureReq req1 =
-        (UpdateProcedureReq) ConfigRequest.Factory.create(req0.serializeToByteBuffer());
+    UpdateProcedurePlan req1 =
+        (UpdateProcedurePlan) ConfigPhysicalPlan.Factory.create(req0.serializeToByteBuffer());
     Assert.assertEquals(req0, req1);
   }
 
   @Test
-  public void DeleteProcedureReqTest() throws IOException {
-    DeleteProcedureReq req0 = new DeleteProcedureReq();
+  public void DeleteProcedurePlanTest() throws IOException {
+    DeleteProcedurePlan req0 = new DeleteProcedurePlan();
     req0.setProcId(1L);
-    DeleteProcedureReq req1 =
-        (DeleteProcedureReq) ConfigRequest.Factory.create(req0.serializeToByteBuffer());
+    DeleteProcedurePlan req1 =
+        (DeleteProcedurePlan) ConfigPhysicalPlan.Factory.create(req0.serializeToByteBuffer());
     Assert.assertEquals(req0, req1);
   }
 
   @Test
-  public void GetRegionLocaltionsReqTest() throws IOException {
-    GetRegionInfoListReq req0 = new GetRegionInfoListReq();
+  public void GetRegionLocaltionsPlanTest() throws IOException {
+    GetRegionInfoListPlan req0 = new GetRegionInfoListPlan();
     req0.setRegionType(TConsensusGroupType.DataRegion);
-    GetRegionInfoListReq req1 =
-        (GetRegionInfoListReq) ConfigRequest.Factory.create(req0.serializeToByteBuffer());
+    GetRegionInfoListPlan req1 =
+        (GetRegionInfoListPlan) ConfigPhysicalPlan.Factory.create(req0.serializeToByteBuffer());
     Assert.assertEquals(req0.getType(), req1.getType());
     Assert.assertEquals(req0.getRegionType(), req1.getRegionType());
   }
diff --git a/confignode/src/test/java/org/apache/iotdb/confignode/persistence/AuthorInfoTest.java b/confignode/src/test/java/org/apache/iotdb/confignode/persistence/AuthorInfoTest.java
index 2e2d96ef3f..c17b4301ab 100644
--- a/confignode/src/test/java/org/apache/iotdb/confignode/persistence/AuthorInfoTest.java
+++ b/confignode/src/test/java/org/apache/iotdb/confignode/persistence/AuthorInfoTest.java
@@ -23,8 +23,8 @@ import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.commons.auth.AuthException;
 import org.apache.iotdb.commons.auth.entity.PrivilegeType;
 import org.apache.iotdb.commons.conf.IoTDBConstant;
-import org.apache.iotdb.confignode.consensus.request.ConfigRequestType;
-import org.apache.iotdb.confignode.consensus.request.auth.AuthorReq;
+import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlanType;
+import org.apache.iotdb.confignode.consensus.request.auth.AuthorPlan;
 import org.apache.iotdb.confignode.consensus.response.PermissionInfoResp;
 import org.apache.iotdb.confignode.rpc.thrift.TCheckUserPrivilegesReq;
 import org.apache.iotdb.rpc.TSStatusCode;
@@ -81,7 +81,7 @@ public class AuthorInfoTest {
     roleList.add("role0");
     roleList.add("role1");
 
-    AuthorReq authorReq;
+    AuthorPlan authorPlan;
     TCheckUserPrivilegesReq checkUserPrivilegesReq;
 
     Set<Integer> privilegeList = new HashSet<>();
@@ -102,13 +102,14 @@ public class AuthorInfoTest {
     cleanUserAndRole();
 
     // create user
-    authorReq =
-        new AuthorReq(ConfigRequestType.CreateUser, "user0", "", "passwd", "", new HashSet<>(), "");
-    status = authorInfo.authorNonQuery(authorReq);
+    authorPlan =
+        new AuthorPlan(
+            ConfigPhysicalPlanType.CreateUser, "user0", "", "passwd", "", new HashSet<>(), "");
+    status = authorInfo.authorNonQuery(authorPlan);
     Assert.assertNull(status.getMessage());
     Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), status.getCode());
-    authorReq.setUserName("user1");
-    status = authorInfo.authorNonQuery(authorReq);
+    authorPlan.setUserName("user1");
+    status = authorInfo.authorNonQuery(authorPlan);
     Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), status.getCode());
 
     // check user privileges
@@ -119,8 +120,9 @@ public class AuthorInfoTest {
     Assert.assertEquals(TSStatusCode.NO_PERMISSION_ERROR.getStatusCode(), status.getCode());
 
     // drop user
-    authorReq = new AuthorReq(ConfigRequestType.DropUser, "user1", "", "", "", new HashSet<>(), "");
-    status = authorInfo.authorNonQuery(authorReq);
+    authorPlan =
+        new AuthorPlan(ConfigPhysicalPlanType.DropUser, "user1", "", "", "", new HashSet<>(), "");
+    status = authorInfo.authorNonQuery(authorPlan);
     Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), status.getCode());
 
     // list user
@@ -132,17 +134,18 @@ public class AuthorInfoTest {
         userList, permissionInfoResp.getPermissionInfo().get(IoTDBConstant.COLUMN_USER));
 
     // create role
-    authorReq =
-        new AuthorReq(ConfigRequestType.CreateRole, "", "role0", "", "", new HashSet<>(), "");
-    status = authorInfo.authorNonQuery(authorReq);
+    authorPlan =
+        new AuthorPlan(ConfigPhysicalPlanType.CreateRole, "", "role0", "", "", new HashSet<>(), "");
+    status = authorInfo.authorNonQuery(authorPlan);
     Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), status.getCode());
-    authorReq.setRoleName("role1");
-    status = authorInfo.authorNonQuery(authorReq);
+    authorPlan.setRoleName("role1");
+    status = authorInfo.authorNonQuery(authorPlan);
     Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), status.getCode());
 
     // drop role
-    authorReq = new AuthorReq(ConfigRequestType.DropRole, "", "role1", "", "", new HashSet<>(), "");
-    status = authorInfo.authorNonQuery(authorReq);
+    authorPlan =
+        new AuthorPlan(ConfigPhysicalPlanType.DropRole, "", "role1", "", "", new HashSet<>(), "");
+    status = authorInfo.authorNonQuery(authorPlan);
     Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), status.getCode());
 
     // list role
@@ -154,15 +157,17 @@ public class AuthorInfoTest {
         roleList, permissionInfoResp.getPermissionInfo().get(IoTDBConstant.COLUMN_ROLE));
 
     // alter user
-    authorReq =
-        new AuthorReq(ConfigRequestType.UpdateUser, "user0", "", "", "newpwd", new HashSet<>(), "");
-    status = authorInfo.authorNonQuery(authorReq);
+    authorPlan =
+        new AuthorPlan(
+            ConfigPhysicalPlanType.UpdateUser, "user0", "", "", "newpwd", new HashSet<>(), "");
+    status = authorInfo.authorNonQuery(authorPlan);
     Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), status.getCode());
 
     // grant user
-    authorReq =
-        new AuthorReq(ConfigRequestType.GrantUser, "user0", "", "", "", privilegeList, "root.ln");
-    status = authorInfo.authorNonQuery(authorReq);
+    authorPlan =
+        new AuthorPlan(
+            ConfigPhysicalPlanType.GrantUser, "user0", "", "", "", privilegeList, "root.ln");
+    status = authorInfo.authorNonQuery(authorPlan);
     Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), status.getCode());
 
     // check user privileges
@@ -173,57 +178,70 @@ public class AuthorInfoTest {
     Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), status.getCode());
 
     // grant role
-    authorReq =
-        new AuthorReq(ConfigRequestType.GrantRole, "", "role0", "", "", privilegeList, "root.ln");
-    status = authorInfo.authorNonQuery(authorReq);
+    authorPlan =
+        new AuthorPlan(
+            ConfigPhysicalPlanType.GrantRole, "", "role0", "", "", privilegeList, "root.ln");
+    status = authorInfo.authorNonQuery(authorPlan);
     Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), status.getCode());
 
     // grant role to user
-    authorReq =
-        new AuthorReq(
-            ConfigRequestType.GrantRoleToUser, "user0", "role0", "", "", new HashSet<>(), "");
-    status = authorInfo.authorNonQuery(authorReq);
+    authorPlan =
+        new AuthorPlan(
+            ConfigPhysicalPlanType.GrantRoleToUser, "user0", "role0", "", "", new HashSet<>(), "");
+    status = authorInfo.authorNonQuery(authorPlan);
     Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), status.getCode());
 
     // revoke user
-    authorReq =
-        new AuthorReq(
-            ConfigRequestType.RevokeUser, "user0", "", "", "", revokePrivilege, "root.ln");
-    status = authorInfo.authorNonQuery(authorReq);
+    authorPlan =
+        new AuthorPlan(
+            ConfigPhysicalPlanType.RevokeUser, "user0", "", "", "", revokePrivilege, "root.ln");
+    status = authorInfo.authorNonQuery(authorPlan);
     Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), status.getCode());
 
     // revoke role
-    authorReq =
-        new AuthorReq(
-            ConfigRequestType.RevokeRole, "", "role0", "", "", revokePrivilege, "root.ln");
-    status = authorInfo.authorNonQuery(authorReq);
+    authorPlan =
+        new AuthorPlan(
+            ConfigPhysicalPlanType.RevokeRole, "", "role0", "", "", revokePrivilege, "root.ln");
+    status = authorInfo.authorNonQuery(authorPlan);
     Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), status.getCode());
 
     // list privileges user
-    authorReq =
-        new AuthorReq(
-            ConfigRequestType.ListUserPrivilege, "user0", "", "", "", new HashSet<>(), "root.ln");
-    permissionInfoResp = authorInfo.executeListUserPrivileges(authorReq);
+    authorPlan =
+        new AuthorPlan(
+            ConfigPhysicalPlanType.ListUserPrivilege,
+            "user0",
+            "",
+            "",
+            "",
+            new HashSet<>(),
+            "root.ln");
+    permissionInfoResp = authorInfo.executeListUserPrivileges(authorPlan);
     status = permissionInfoResp.getStatus();
     Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), status.getCode());
     Assert.assertEquals(
         privilege, permissionInfoResp.getPermissionInfo().get(IoTDBConstant.COLUMN_PRIVILEGE));
 
     // list user privileges
-    authorReq =
-        new AuthorReq(
-            ConfigRequestType.ListUserPrivilege, "user0", "", "", "", new HashSet<>(), "");
-    permissionInfoResp = authorInfo.executeListUserPrivileges(authorReq);
+    authorPlan =
+        new AuthorPlan(
+            ConfigPhysicalPlanType.ListUserPrivilege, "user0", "", "", "", new HashSet<>(), "");
+    permissionInfoResp = authorInfo.executeListUserPrivileges(authorPlan);
     status = permissionInfoResp.getStatus();
     Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), status.getCode());
     Assert.assertEquals(
         privilege, permissionInfoResp.getPermissionInfo().get(IoTDBConstant.COLUMN_PRIVILEGE));
 
     // list privileges role
-    authorReq =
-        new AuthorReq(
-            ConfigRequestType.ListRolePrivilege, "", "role0", "", "", new HashSet<>(), "root.ln");
-    permissionInfoResp = authorInfo.executeListRolePrivileges(authorReq);
+    authorPlan =
+        new AuthorPlan(
+            ConfigPhysicalPlanType.ListRolePrivilege,
+            "",
+            "role0",
+            "",
+            "",
+            new HashSet<>(),
+            "root.ln");
+    permissionInfoResp = authorInfo.executeListRolePrivileges(authorPlan);
     status = permissionInfoResp.getStatus();
     Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), status.getCode());
     privilege.remove(0);
@@ -231,19 +249,20 @@ public class AuthorInfoTest {
         privilege, permissionInfoResp.getPermissionInfo().get(IoTDBConstant.COLUMN_PRIVILEGE));
 
     // list role privileges
-    authorReq =
-        new AuthorReq(
-            ConfigRequestType.ListRolePrivilege, "", "role0", "", "", new HashSet<>(), "");
-    permissionInfoResp = authorInfo.executeListRolePrivileges(authorReq);
+    authorPlan =
+        new AuthorPlan(
+            ConfigPhysicalPlanType.ListRolePrivilege, "", "role0", "", "", new HashSet<>(), "");
+    permissionInfoResp = authorInfo.executeListRolePrivileges(authorPlan);
     status = permissionInfoResp.getStatus();
     Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), status.getCode());
     Assert.assertEquals(
         privilege, permissionInfoResp.getPermissionInfo().get(IoTDBConstant.COLUMN_PRIVILEGE));
 
     // list all role of user
-    authorReq =
-        new AuthorReq(ConfigRequestType.ListUserRoles, "user0", "", "", "", new HashSet<>(), "");
-    permissionInfoResp = authorInfo.executeListUserRoles(authorReq);
+    authorPlan =
+        new AuthorPlan(
+            ConfigPhysicalPlanType.ListUserRoles, "user0", "", "", "", new HashSet<>(), "");
+    permissionInfoResp = authorInfo.executeListUserRoles(authorPlan);
     status = permissionInfoResp.getStatus();
     Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), status.getCode());
     roleList.remove("role1");
@@ -251,9 +270,10 @@ public class AuthorInfoTest {
         roleList, permissionInfoResp.getPermissionInfo().get(IoTDBConstant.COLUMN_ROLE));
 
     // list all user of role
-    authorReq =
-        new AuthorReq(ConfigRequestType.ListRoleUsers, "", "role0", "", "", new HashSet<>(), "");
-    permissionInfoResp = authorInfo.executeListRoleUsers(authorReq);
+    authorPlan =
+        new AuthorPlan(
+            ConfigPhysicalPlanType.ListRoleUsers, "", "role0", "", "", new HashSet<>(), "");
+    permissionInfoResp = authorInfo.executeListRoleUsers(authorPlan);
     status = permissionInfoResp.getStatus();
     Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), status.getCode());
     userList.remove("user1");
@@ -262,16 +282,23 @@ public class AuthorInfoTest {
         userList, permissionInfoResp.getPermissionInfo().get(IoTDBConstant.COLUMN_USER));
 
     // revoke role from user
-    authorReq =
-        new AuthorReq(
-            ConfigRequestType.RevokeRoleFromUser, "user0", "role0", "", "", new HashSet<>(), "");
-    status = authorInfo.authorNonQuery(authorReq);
+    authorPlan =
+        new AuthorPlan(
+            ConfigPhysicalPlanType.RevokeRoleFromUser,
+            "user0",
+            "role0",
+            "",
+            "",
+            new HashSet<>(),
+            "");
+    status = authorInfo.authorNonQuery(authorPlan);
     Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), status.getCode());
 
     // list root privileges
-    authorReq =
-        new AuthorReq(ConfigRequestType.ListUserPrivilege, "root", "", "", "", new HashSet<>(), "");
-    permissionInfoResp = authorInfo.executeListUserPrivileges(authorReq);
+    authorPlan =
+        new AuthorPlan(
+            ConfigPhysicalPlanType.ListUserPrivilege, "root", "", "", "", new HashSet<>(), "");
+    permissionInfoResp = authorInfo.executeListUserPrivileges(authorPlan);
     status = permissionInfoResp.getStatus();
     Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), status.getCode());
     for (int i = 0; i < PrivilegeType.values().length; i++) {
@@ -285,8 +312,8 @@ public class AuthorInfoTest {
     TSStatus status;
 
     // clean user
-    AuthorReq authorReq =
-        new AuthorReq(ConfigRequestType.ListUser, "", "", "", "", new HashSet<>(), "");
+    AuthorPlan authorPlan =
+        new AuthorPlan(ConfigPhysicalPlanType.ListUser, "", "", "", "", new HashSet<>(), "");
     PermissionInfoResp permissionInfoResp = authorInfo.executeListUser();
     status = permissionInfoResp.getStatus();
     Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), status.getCode());
@@ -294,9 +321,9 @@ public class AuthorInfoTest {
     List<String> allUsers = permissionInfoResp.getPermissionInfo().get(IoTDBConstant.COLUMN_USER);
     for (String user : allUsers) {
       if (!user.equals("root")) {
-        authorReq =
-            new AuthorReq(ConfigRequestType.DropUser, user, "", "", "", new HashSet<>(), "");
-        status = authorInfo.authorNonQuery(authorReq);
+        authorPlan =
+            new AuthorPlan(ConfigPhysicalPlanType.DropUser, user, "", "", "", new HashSet<>(), "");
+        status = authorInfo.authorNonQuery(authorPlan);
         Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), status.getCode());
       }
     }
@@ -308,8 +335,9 @@ public class AuthorInfoTest {
 
     List<String> roleList = permissionInfoResp.getPermissionInfo().get(IoTDBConstant.COLUMN_ROLE);
     for (String roleN : roleList) {
-      authorReq = new AuthorReq(ConfigRequestType.DropRole, "", roleN, "", "", new HashSet<>(), "");
-      status = authorInfo.authorNonQuery(authorReq);
+      authorPlan =
+          new AuthorPlan(ConfigPhysicalPlanType.DropRole, "", roleN, "", "", new HashSet<>(), "");
+      status = authorInfo.authorNonQuery(authorPlan);
       Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), status.getCode());
     }
   }
@@ -318,11 +346,11 @@ public class AuthorInfoTest {
   public void takeSnapshot() throws TException, IOException, AuthException {
     cleanUserAndRole();
     // create role
-    AuthorReq createRoleReq = new AuthorReq(ConfigRequestType.CreateRole);
+    AuthorPlan createRoleReq = new AuthorPlan(ConfigPhysicalPlanType.CreateRole);
     createRoleReq.setRoleName("testRole");
     TSStatus status = authorInfo.authorNonQuery(createRoleReq);
     Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), status.getCode());
-    AuthorReq createUserReq = new AuthorReq(ConfigRequestType.CreateUser);
+    AuthorPlan createUserReq = new AuthorPlan(ConfigPhysicalPlanType.CreateUser);
     createUserReq.setUserName("testUser");
     createUserReq.setPassword("testPassword");
     status = authorInfo.authorNonQuery(createUserReq);
diff --git a/confignode/src/test/java/org/apache/iotdb/confignode/persistence/ClusterSchemaInfoTest.java b/confignode/src/test/java/org/apache/iotdb/confignode/persistence/ClusterSchemaInfoTest.java
index 388bda0998..8b1f36e6c6 100644
--- a/confignode/src/test/java/org/apache/iotdb/confignode/persistence/ClusterSchemaInfoTest.java
+++ b/confignode/src/test/java/org/apache/iotdb/confignode/persistence/ClusterSchemaInfoTest.java
@@ -21,8 +21,8 @@ package org.apache.iotdb.confignode.persistence;
 
 import org.apache.iotdb.commons.exception.IllegalPathException;
 import org.apache.iotdb.commons.utils.PathUtils;
-import org.apache.iotdb.confignode.consensus.request.read.GetStorageGroupReq;
-import org.apache.iotdb.confignode.consensus.request.write.SetStorageGroupReq;
+import org.apache.iotdb.confignode.consensus.request.read.GetStorageGroupPlan;
+import org.apache.iotdb.confignode.consensus.request.write.SetStorageGroupPlan;
 import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
 
 import org.apache.commons.io.FileUtils;
@@ -80,7 +80,7 @@ public class ClusterSchemaInfoTest {
       tStorageGroupSchema.setSchemaReplicationFactor(i);
       tStorageGroupSchema.setTimePartitionInterval(i);
       testMap.put(path, tStorageGroupSchema);
-      clusterSchemaInfo.setStorageGroup(new SetStorageGroupReq(tStorageGroupSchema));
+      clusterSchemaInfo.setStorageGroup(new SetStorageGroupPlan(tStorageGroupSchema));
       i++;
     }
     clusterSchemaInfo.processTakeSnapshot(snapshotDir);
@@ -90,8 +90,8 @@ public class ClusterSchemaInfoTest {
     Assert.assertEquals(
         storageGroupPathList.size(), clusterSchemaInfo.getStorageGroupNames().size());
 
-    GetStorageGroupReq getStorageGroupReq =
-        new GetStorageGroupReq(Arrays.asList(PathUtils.splitPathToDetachedNodes("root.**")));
+    GetStorageGroupPlan getStorageGroupReq =
+        new GetStorageGroupPlan(Arrays.asList(PathUtils.splitPathToDetachedNodes("root.**")));
     Map<String, TStorageGroupSchema> reloadResult =
         clusterSchemaInfo.getMatchedStorageGroupSchemas(getStorageGroupReq).getSchemaMap();
     Assert.assertEquals(testMap, reloadResult);
diff --git a/confignode/src/test/java/org/apache/iotdb/confignode/persistence/NodeInfoTest.java b/confignode/src/test/java/org/apache/iotdb/confignode/persistence/NodeInfoTest.java
index 93c59cdda8..ba79e6d101 100644
--- a/confignode/src/test/java/org/apache/iotdb/confignode/persistence/NodeInfoTest.java
+++ b/confignode/src/test/java/org/apache/iotdb/confignode/persistence/NodeInfoTest.java
@@ -21,7 +21,7 @@ package org.apache.iotdb.confignode.persistence;
 import org.apache.iotdb.common.rpc.thrift.TDataNodeInfo;
 import org.apache.iotdb.common.rpc.thrift.TDataNodeLocation;
 import org.apache.iotdb.common.rpc.thrift.TEndPoint;
-import org.apache.iotdb.confignode.consensus.request.write.RegisterDataNodeReq;
+import org.apache.iotdb.confignode.consensus.request.write.RegisterDataNodePlan;
 
 import org.apache.commons.io.FileUtils;
 import org.apache.thrift.TException;
@@ -62,13 +62,13 @@ public class NodeInfoTest {
   @Test
   public void testSnapshot() throws TException, IOException {
 
-    RegisterDataNodeReq registerDataNodeReq =
-        new RegisterDataNodeReq(new TDataNodeInfo(generateTDataNodeLocation(1), 16, 34359738368L));
-    nodeInfo.registerDataNode(registerDataNodeReq);
+    RegisterDataNodePlan registerDataNodePlan =
+        new RegisterDataNodePlan(new TDataNodeInfo(generateTDataNodeLocation(1), 16, 34359738368L));
+    nodeInfo.registerDataNode(registerDataNodePlan);
 
-    registerDataNodeReq =
-        new RegisterDataNodeReq(new TDataNodeInfo(generateTDataNodeLocation(2), 16, 34359738368L));
-    nodeInfo.registerDataNode(registerDataNodeReq);
+    registerDataNodePlan =
+        new RegisterDataNodePlan(new TDataNodeInfo(generateTDataNodeLocation(2), 16, 34359738368L));
+    nodeInfo.registerDataNode(registerDataNodePlan);
 
     Set<TDataNodeLocation> drainingDataNodes_before = new HashSet<>();
     // parameter i is used to be flag in generateTDataNodeLocation
diff --git a/confignode/src/test/java/org/apache/iotdb/confignode/persistence/PartitionInfoTest.java b/confignode/src/test/java/org/apache/iotdb/confignode/persistence/PartitionInfoTest.java
index 3739b34c70..9afb184009 100644
--- a/confignode/src/test/java/org/apache/iotdb/confignode/persistence/PartitionInfoTest.java
+++ b/confignode/src/test/java/org/apache/iotdb/confignode/persistence/PartitionInfoTest.java
@@ -29,11 +29,11 @@ import org.apache.iotdb.common.rpc.thrift.TTimePartitionSlot;
 import org.apache.iotdb.commons.partition.DataPartitionTable;
 import org.apache.iotdb.commons.partition.SchemaPartitionTable;
 import org.apache.iotdb.commons.partition.SeriesPartitionTable;
-import org.apache.iotdb.confignode.consensus.request.read.GetRegionInfoListReq;
-import org.apache.iotdb.confignode.consensus.request.write.CreateDataPartitionReq;
-import org.apache.iotdb.confignode.consensus.request.write.CreateRegionsReq;
-import org.apache.iotdb.confignode.consensus.request.write.CreateSchemaPartitionReq;
-import org.apache.iotdb.confignode.consensus.request.write.SetStorageGroupReq;
+import org.apache.iotdb.confignode.consensus.request.read.GetRegionInfoListPlan;
+import org.apache.iotdb.confignode.consensus.request.write.CreateDataPartitionPlan;
+import org.apache.iotdb.confignode.consensus.request.write.CreateRegionsPlan;
+import org.apache.iotdb.confignode.consensus.request.write.CreateSchemaPartitionPlan;
+import org.apache.iotdb.confignode.consensus.request.write.SetStorageGroupPlan;
 import org.apache.iotdb.confignode.consensus.response.RegionInfoListResp;
 import org.apache.iotdb.confignode.persistence.partition.PartitionInfo;
 import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
@@ -97,10 +97,10 @@ public class PartitionInfoTest {
     partitionInfo.generateNextRegionGroupId();
 
     // Set StorageGroup
-    partitionInfo.setStorageGroup(new SetStorageGroupReq(new TStorageGroupSchema("root.test")));
+    partitionInfo.setStorageGroup(new SetStorageGroupPlan(new TStorageGroupSchema("root.test")));
 
     // Create a SchemaRegion
-    CreateRegionsReq createRegionGroupsReq = new CreateRegionsReq();
+    CreateRegionsPlan createRegionGroupsReq = new CreateRegionsPlan();
     TRegionReplicaSet schemaRegionReplicaSet =
         generateTRegionReplicaSet(
             testFlag.SchemaPartition.getFlag(),
@@ -110,7 +110,7 @@ public class PartitionInfoTest {
     partitionInfo.createRegionGroups(createRegionGroupsReq);
 
     // Create a DataRegion
-    createRegionGroupsReq = new CreateRegionsReq();
+    createRegionGroupsReq = new CreateRegionsPlan();
     TRegionReplicaSet dataRegionReplicaSet =
         generateTRegionReplicaSet(
             testFlag.DataPartition.getFlag(),
@@ -120,20 +120,20 @@ public class PartitionInfoTest {
     partitionInfo.createRegionGroups(createRegionGroupsReq);
 
     // Create a SchemaPartition
-    CreateSchemaPartitionReq createSchemaPartitionReq =
+    CreateSchemaPartitionPlan createSchemaPartitionPlan =
         generateCreateSchemaPartitionReq(
             testFlag.SchemaPartition.getFlag(),
             generateTConsensusGroupId(
                 testFlag.SchemaPartition.getFlag(), TConsensusGroupType.SchemaRegion));
-    partitionInfo.createSchemaPartition(createSchemaPartitionReq);
+    partitionInfo.createSchemaPartition(createSchemaPartitionPlan);
 
     // Create a DataPartition
-    CreateDataPartitionReq createDataPartitionReq =
+    CreateDataPartitionPlan createDataPartitionPlan =
         generateCreateDataPartitionReq(
             testFlag.DataPartition.getFlag(),
             generateTConsensusGroupId(
                 testFlag.DataPartition.getFlag(), TConsensusGroupType.DataRegion));
-    partitionInfo.createDataPartition(createDataPartitionReq);
+    partitionInfo.createDataPartition(createDataPartitionPlan);
 
     partitionInfo.getDeletedRegionSet().add(dataRegionReplicaSet);
     partitionInfo.getDeletedRegionSet().add(schemaRegionReplicaSet);
@@ -150,29 +150,29 @@ public class PartitionInfoTest {
     partitionInfo.generateNextRegionGroupId();
 
     // Set StorageGroup
-    partitionInfo.setStorageGroup(new SetStorageGroupReq(new TStorageGroupSchema("root.test")));
+    partitionInfo.setStorageGroup(new SetStorageGroupPlan(new TStorageGroupSchema("root.test")));
 
     // Create a SchemaRegion
-    CreateRegionsReq createRegionsReq = new CreateRegionsReq();
+    CreateRegionsPlan createRegionsPlan = new CreateRegionsPlan();
     TRegionReplicaSet schemaRegionReplicaSet =
         generateTRegionReplicaSet(
             testFlag.SchemaPartition.getFlag(),
             generateTConsensusGroupId(
                 testFlag.SchemaPartition.getFlag(), TConsensusGroupType.SchemaRegion));
-    createRegionsReq.addRegionGroup("root.test", schemaRegionReplicaSet);
-    partitionInfo.createRegionGroups(createRegionsReq);
+    createRegionsPlan.addRegionGroup("root.test", schemaRegionReplicaSet);
+    partitionInfo.createRegionGroups(createRegionsPlan);
 
     // Create a DataRegion
-    createRegionsReq = new CreateRegionsReq();
+    createRegionsPlan = new CreateRegionsPlan();
     TRegionReplicaSet dataRegionReplicaSet =
         generateTRegionReplicaSet(
             testFlag.DataPartition.getFlag(),
             generateTConsensusGroupId(
                 testFlag.DataPartition.getFlag(), TConsensusGroupType.DataRegion));
-    createRegionsReq.addRegionGroup("root.test", dataRegionReplicaSet);
-    partitionInfo.createRegionGroups(createRegionsReq);
+    createRegionsPlan.addRegionGroup("root.test", dataRegionReplicaSet);
+    partitionInfo.createRegionGroups(createRegionsPlan);
 
-    GetRegionInfoListReq regionReq = new GetRegionInfoListReq();
+    GetRegionInfoListPlan regionReq = new GetRegionInfoListPlan();
     regionReq.setRegionType(null);
     RegionInfoListResp regionInfoList1 =
         (RegionInfoListResp) partitionInfo.getRegionInfoList(regionReq);
@@ -229,22 +229,22 @@ public class PartitionInfoTest {
     return tRegionReplicaSet;
   }
 
-  private CreateSchemaPartitionReq generateCreateSchemaPartitionReq(
+  private CreateSchemaPartitionPlan generateCreateSchemaPartitionReq(
       int startFlag, TConsensusGroupId tConsensusGroupId) {
-    CreateSchemaPartitionReq createSchemaPartitionReq = new CreateSchemaPartitionReq();
+    CreateSchemaPartitionPlan createSchemaPartitionPlan = new CreateSchemaPartitionPlan();
     // Map<StorageGroup, Map<TSeriesPartitionSlot, TSchemaRegionPlaceInfo>>
     Map<String, SchemaPartitionTable> assignedSchemaPartition = new HashMap<>();
     Map<TSeriesPartitionSlot, TConsensusGroupId> relationInfo = new HashMap<>();
     relationInfo.put(new TSeriesPartitionSlot(startFlag), tConsensusGroupId);
     assignedSchemaPartition.put("root.test", new SchemaPartitionTable(relationInfo));
-    createSchemaPartitionReq.setAssignedSchemaPartition(assignedSchemaPartition);
-    return createSchemaPartitionReq;
+    createSchemaPartitionPlan.setAssignedSchemaPartition(assignedSchemaPartition);
+    return createSchemaPartitionPlan;
   }
 
-  private CreateDataPartitionReq generateCreateDataPartitionReq(
+  private CreateDataPartitionPlan generateCreateDataPartitionReq(
       int startFlag, TConsensusGroupId tConsensusGroupId) {
     startFlag = startFlag / 10;
-    CreateDataPartitionReq createSchemaPartitionReq = new CreateDataPartitionReq();
+    CreateDataPartitionPlan createSchemaPartitionReq = new CreateDataPartitionPlan();
     // Map<StorageGroup, Map<TSeriesPartitionSlot, Map<TTimePartitionSlot, List<TRegionMessage>>>>
     Map<String, DataPartitionTable> dataPartitionMap = new HashMap<>();