Remove isClusterMode configuration (#12193)

diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java
index 6be4d80..a574e02 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java
@@ -600,9 +600,6 @@
   /** Replace implementation class of JDBC service */
   private String rpcImplClassName = ClientRPCServiceImpl.class.getName();
 
-  /** indicate whether current mode is cluster */
-  private boolean isClusterMode = false;
-
   /**
    * The cluster name that this DataNode joined in the cluster mode. The default value
    * "defaultCluster" will be changed after join cluster
@@ -1547,21 +1544,20 @@
   }
 
   public void checkMultiDirStrategyClassName() {
-    if (isClusterMode) {
-      for (String multiDirStrategy : CLUSTER_ALLOWED_MULTI_DIR_STRATEGIES) {
-        // If the multiDirStrategyClassName is one of cluster allowed strategy, the check is passed.
-        if (multiDirStrategyClassName.equals(multiDirStrategy)
-            || multiDirStrategyClassName.equals(MULTI_DIR_STRATEGY_PREFIX + multiDirStrategy)) {
-          return;
-        }
+    confirmMultiDirStrategy();
+    for (String multiDirStrategy : CLUSTER_ALLOWED_MULTI_DIR_STRATEGIES) {
+      // If the multiDirStrategyClassName is one of cluster allowed strategy, the check is passed.
+      if (multiDirStrategyClassName.equals(multiDirStrategy)
+          || multiDirStrategyClassName.equals(MULTI_DIR_STRATEGY_PREFIX + multiDirStrategy)) {
+        return;
       }
-      String msg =
-          String.format(
-              "Cannot set multi_dir_strategy to %s, because cluster mode only allows %s.",
-              multiDirStrategyClassName, Arrays.toString(CLUSTER_ALLOWED_MULTI_DIR_STRATEGIES));
-      logger.error(msg);
-      throw new RuntimeException(msg);
     }
+    String msg =
+        String.format(
+            "Cannot set multi_dir_strategy to %s, because cluster mode only allows %s.",
+            multiDirStrategyClassName, Arrays.toString(CLUSTER_ALLOWED_MULTI_DIR_STRATEGIES));
+    logger.error(msg);
+    throw new RuntimeException(msg);
   }
 
   public int getBatchSize() {
@@ -3027,15 +3023,6 @@
     this.selectorNumOfClientManager = selectorNumOfClientManager;
   }
 
-  public boolean isClusterMode() {
-    return isClusterMode;
-  }
-
-  public void setClusterMode(boolean isClusterMode) {
-    this.isClusterMode = isClusterMode;
-    checkMultiDirStrategyClassName();
-  }
-
   public String getClusterName() {
     return clusterName;
   }
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBStartCheck.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBStartCheck.java
index 6f5229d..e37df2a 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBStartCheck.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBStartCheck.java
@@ -209,8 +209,7 @@
     for (String dataDir : config.getLocalDataDirs()) {
       DirectoryChecker.getInstance().registerDirectory(new File(dataDir));
     }
-    if (config.isClusterMode()
-        && config.getDataRegionConsensusProtocolClass().equals(ConsensusFactory.RATIS_CONSENSUS)) {
+    if (config.getDataRegionConsensusProtocolClass().equals(ConsensusFactory.RATIS_CONSENSUS)) {
       if (DirectoryChecker.getInstance().isCrossDisk(config.getDataDirs())) {
         throw new ConfigurationException(
             "Configuring the data directories as cross-disk directories is not supported under RatisConsensus(it will be supported in a later version).");
@@ -219,19 +218,14 @@
     // check system dir
     DirectoryChecker.getInstance().registerDirectory(new File(config.getSystemDir()));
     // check WAL dir
-    if (!(config.isClusterMode()
-            && config
-                .getDataRegionConsensusProtocolClass()
-                .equals(ConsensusFactory.RATIS_CONSENSUS))
+    if (!(config.getDataRegionConsensusProtocolClass().equals(ConsensusFactory.RATIS_CONSENSUS))
         && !config.getWalMode().equals(WALMode.DISABLE)) {
       for (String walDir : commonConfig.getWalDirs()) {
         DirectoryChecker.getInstance().registerDirectory(new File(walDir));
       }
     }
-    // in cluster mode, check consensus dir
-    if (config.isClusterMode()) {
-      DirectoryChecker.getInstance().registerDirectory(new File(config.getConsensusDir()));
-    }
+    // check consensus dir
+    DirectoryChecker.getInstance().registerDirectory(new File(config.getConsensusDir()));
   }
 
   /**
@@ -274,8 +268,7 @@
         systemProperties.forEach((k, v) -> properties.setProperty(k, v.get()));
         properties.store(outputStream, SYSTEM_PROPERTIES_STRING);
       }
-      if (config.isClusterMode()
-          && config.getDataRegionConsensusProtocolClass().equals(ConsensusFactory.IOT_CONSENSUS)
+      if (config.getDataRegionConsensusProtocolClass().equals(ConsensusFactory.IOT_CONSENSUS)
           && config.getWalMode().equals(WALMode.DISABLE)) {
         throw new ConfigurationException(
             "Configuring the WALMode as disable is not supported under IoTConsensus");
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/Coordinator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/Coordinator.java
index d68f022..78c5be0 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/Coordinator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/Coordinator.java
@@ -225,8 +225,7 @@
 
   // TODO: (xingtanzjr) need to redo once we have a concrete policy for the threadPool management
   private ExecutorService getQueryExecutor() {
-    int coordinatorReadExecutorSize =
-        CONFIG.isClusterMode() ? CONFIG.getCoordinatorReadExecutorSize() : 1;
+    int coordinatorReadExecutorSize = CONFIG.getCoordinatorReadExecutorSize();
     return IoTDBThreadPoolFactory.newFixedThreadPool(
         coordinatorReadExecutorSize, ThreadName.MPP_COORDINATOR_EXECUTOR_POOL.getName());
   }
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/parser/ASTVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/parser/ASTVisitor.java
index 22a8556..b478b0e 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/parser/ASTVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/parser/ASTVisitor.java
@@ -3166,9 +3166,6 @@
     if (ctx.boolean_literal() != null) {
       flushStatement.setSeq(Boolean.parseBoolean(ctx.boolean_literal().getText()));
     }
-    if (ctx.CLUSTER() != null && !IoTDBDescriptor.getInstance().getConfig().isClusterMode()) {
-      throw new SemanticException("FLUSH ON CLUSTER is not supported in standalone mode");
-    }
     flushStatement.setOnCluster(ctx.LOCAL() == null);
     if (ctx.prefixPath(0) != null) {
       storageGroups = new ArrayList<>();
@@ -3185,9 +3182,6 @@
   @Override
   public Statement visitClearCache(IoTDBSqlParser.ClearCacheContext ctx) {
     ClearCacheStatement clearCacheStatement = new ClearCacheStatement(StatementType.CLEAR_CACHE);
-    if (ctx.CLUSTER() != null && !IoTDBDescriptor.getInstance().getConfig().isClusterMode()) {
-      throw new SemanticException("CLEAR CACHE ON CLUSTER is not supported in standalone mode");
-    }
     clearCacheStatement.setOnCluster(ctx.LOCAL() == null);
     return clearCacheStatement;
   }
@@ -3198,10 +3192,6 @@
   public Statement visitStartRepairData(IoTDBSqlParser.StartRepairDataContext ctx) {
     StartRepairDataStatement startRepairDataStatement =
         new StartRepairDataStatement(StatementType.START_REPAIR_DATA);
-    if (ctx.CLUSTER() != null && !IoTDBDescriptor.getInstance().getConfig().isClusterMode()) {
-      throw new SemanticException(
-          "START REPAIR DATA ON CLUSTER is not supported in standalone mode");
-    }
     startRepairDataStatement.setOnCluster(ctx.LOCAL() == null);
     return startRepairDataStatement;
   }
@@ -3212,10 +3202,6 @@
   public Statement visitStopRepairData(IoTDBSqlParser.StopRepairDataContext ctx) {
     StopRepairDataStatement stopRepairDataStatement =
         new StopRepairDataStatement(StatementType.STOP_REPAIR_DATA);
-    if (ctx.CLUSTER() != null && !IoTDBDescriptor.getInstance().getConfig().isClusterMode()) {
-      throw new SemanticException(
-          "STOP REPAIR DATA ON CLUSTER is not supported in standalone mode");
-    }
     stopRepairDataStatement.setOnCluster(ctx.LOCAL() == null);
     return stopRepairDataStatement;
   }
@@ -3226,10 +3212,6 @@
   public Statement visitLoadConfiguration(IoTDBSqlParser.LoadConfigurationContext ctx) {
     LoadConfigurationStatement loadConfigurationStatement =
         new LoadConfigurationStatement(StatementType.LOAD_CONFIGURATION);
-    if (ctx.CLUSTER() != null && !IoTDBDescriptor.getInstance().getConfig().isClusterMode()) {
-      throw new SemanticException(
-          "LOAD CONFIGURATION ON CLUSTER is not supported in standalone mode");
-    }
     loadConfigurationStatement.setOnCluster(ctx.LOCAL() == null);
     return loadConfigurationStatement;
   }
@@ -3239,10 +3221,6 @@
   @Override
   public Statement visitSetSystemStatus(IoTDBSqlParser.SetSystemStatusContext ctx) {
     SetSystemStatusStatement setSystemStatusStatement = new SetSystemStatusStatement();
-    if (ctx.CLUSTER() != null && !IoTDBDescriptor.getInstance().getConfig().isClusterMode()) {
-      throw new SemanticException(
-          "SET SYSTEM STATUS ON CLUSTER is not supported in standalone mode");
-    }
     setSystemStatusStatement.setOnCluster(ctx.LOCAL() == null);
     if (ctx.RUNNING() != null) {
       setSystemStatusStatement.setStatus(NodeStatus.Running);
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/InsertNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/InsertNode.java
index 363c789..b4284f1 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/InsertNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/InsertNode.java
@@ -25,7 +25,6 @@
 import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.commons.utils.TestOnly;
 import org.apache.iotdb.consensus.iot.log.ConsensusReqReader;
-import org.apache.iotdb.db.conf.IoTDBDescriptor;
 import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeId;
 import org.apache.iotdb.db.queryengine.plan.planner.plan.node.WritePlanNode;
 import org.apache.iotdb.db.storageengine.dataregion.memtable.DeviceIDFactory;
@@ -34,7 +33,6 @@
 import org.apache.iotdb.tsfile.exception.NotImplementedException;
 import org.apache.iotdb.tsfile.file.metadata.IDeviceID;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
-import org.apache.iotdb.tsfile.utils.ReadWriteIOUtils;
 import org.apache.iotdb.tsfile.write.schema.MeasurementSchema;
 
 import java.io.DataInputStream;
@@ -189,13 +187,7 @@
       if (measurements[i] == null) {
         continue;
       }
-      if (IoTDBDescriptor.getInstance().getConfig().isClusterMode()) {
-        byteLen += WALWriteUtils.sizeToWrite(measurementSchemas[i]);
-      } else {
-        byteLen += ReadWriteIOUtils.sizeToWrite(measurements[i]);
-        // datatype size
-        byteLen++;
-      }
+      byteLen += WALWriteUtils.sizeToWrite(measurementSchemas[i]);
     }
     return byteLen;
   }
@@ -207,14 +199,7 @@
       if (measurements[i] == null) {
         continue;
       }
-
-      // serialize measurementId only for standalone version for better write performance
-      if (IoTDBDescriptor.getInstance().getConfig().isClusterMode()) {
-        WALWriteUtils.write(measurementSchemas[i], buffer);
-      } else {
-        WALWriteUtils.write(measurements[i], buffer);
-        WALWriteUtils.write(dataTypes[i], buffer);
-      }
+      WALWriteUtils.write(measurementSchemas[i], buffer);
     }
   }
 
@@ -224,14 +209,9 @@
    */
   protected void deserializeMeasurementSchemas(DataInputStream stream) throws IOException {
     for (int i = 0; i < measurements.length; i++) {
-      if (IoTDBDescriptor.getInstance().getConfig().isClusterMode()) {
-        measurementSchemas[i] = MeasurementSchema.deserializeFrom(stream);
-        measurements[i] = measurementSchemas[i].getMeasurementId();
-        dataTypes[i] = measurementSchemas[i].getType();
-      } else {
-        measurements[i] = ReadWriteIOUtils.readString(stream);
-        dataTypes[i] = TSDataType.deserialize(ReadWriteIOUtils.readByte(stream));
-      }
+      measurementSchemas[i] = MeasurementSchema.deserializeFrom(stream);
+      measurements[i] = measurementSchemas[i].getMeasurementId();
+      dataTypes[i] = measurementSchemas[i].getType();
     }
   }
 
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/SchemaEngine.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/SchemaEngine.java
index bca3bd4..65b6f31 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/SchemaEngine.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/SchemaEngine.java
@@ -119,10 +119,7 @@
 
     initSchemaRegion();
 
-    if (!(config.isClusterMode()
-            && config
-                .getSchemaRegionConsensusProtocolClass()
-                .equals(ConsensusFactory.RATIS_CONSENSUS))
+    if (!(config.getSchemaRegionConsensusProtocolClass().equals(ConsensusFactory.RATIS_CONSENSUS))
         && config.getSyncMlogPeriodInMs() != 0) {
       timedForceMLogThread =
           IoTDBThreadPoolFactory.newSingleThreadScheduledExecutor(
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/impl/SchemaRegionMemoryImpl.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/impl/SchemaRegionMemoryImpl.java
index 6a00d43..42c67f4 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/impl/SchemaRegionMemoryImpl.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/impl/SchemaRegionMemoryImpl.java
@@ -170,10 +170,7 @@
 
     // In ratis mode, no matter create schemaRegion or recover schemaRegion, the working dir should
     // be clear first
-    if (config.isClusterMode()
-        && config
-            .getSchemaRegionConsensusProtocolClass()
-            .equals(ConsensusFactory.RATIS_CONSENSUS)) {
+    if (config.getSchemaRegionConsensusProtocolClass().equals(ConsensusFactory.RATIS_CONSENSUS)) {
       File schemaRegionDir = new File(schemaRegionDirPath);
       if (schemaRegionDir.exists()) {
         FileUtils.deleteDirectory(schemaRegionDir);
@@ -207,10 +204,9 @@
               regionStatistics,
               metric);
 
-      if (!(config.isClusterMode()
-          && config
-              .getSchemaRegionConsensusProtocolClass()
-              .equals(ConsensusFactory.RATIS_CONSENSUS))) {
+      if (!config
+          .getSchemaRegionConsensusProtocolClass()
+          .equals(ConsensusFactory.RATIS_CONSENSUS)) {
         usingMLog = true;
         initMLog();
       } else {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/impl/SchemaRegionPBTreeImpl.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/impl/SchemaRegionPBTreeImpl.java
index 8c5e52f..e00ad35 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/impl/SchemaRegionPBTreeImpl.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/impl/SchemaRegionPBTreeImpl.java
@@ -205,10 +205,9 @@
               regionStatistics,
               metric);
 
-      if (!(config.isClusterMode()
-          && config
-              .getSchemaRegionConsensusProtocolClass()
-              .equals(ConsensusFactory.RATIS_CONSENSUS))) {
+      if (!config
+          .getSchemaRegionConsensusProtocolClass()
+          .equals(ConsensusFactory.RATIS_CONSENSUS)) {
         usingMLog = true;
         initMLog();
       } else {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/DataNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/DataNode.java
index 9fb5325..1a35c78 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/DataNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/DataNode.java
@@ -237,8 +237,6 @@
   /** Prepare cluster IoTDB-DataNode */
   private boolean prepareDataNode() throws StartupException, IOException {
     long startTime = System.currentTimeMillis();
-    // Set cluster mode
-    config.setClusterMode(true);
 
     // Notice: Consider this DataNode as first start if the system.properties file doesn't exist
     IoTDBStartCheck.getInstance().checkOldSystemConfig();
@@ -572,8 +570,7 @@
     registerManager.register(CacheHitRatioMonitor.getInstance());
 
     // Close wal when using ratis consensus
-    if (config.isClusterMode()
-        && config.getDataRegionConsensusProtocolClass().equals(ConsensusFactory.RATIS_CONSENSUS)) {
+    if (config.getDataRegionConsensusProtocolClass().equals(ConsensusFactory.RATIS_CONSENSUS)) {
       config.setWalMode(WALMode.DISABLE);
     }
     registerManager.register(WALManager.getInstance());
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/IoTDBShutdownHook.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/IoTDBShutdownHook.java
index 214142a..6d71aaf 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/IoTDBShutdownHook.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/IoTDBShutdownHook.java
@@ -85,11 +85,10 @@
     // own
     // latest snapshot, while other consensus algorithms will not. This judgement ensures that
     // compaction work is not discarded even if there are frequent restarts
-    if (IoTDBDescriptor.getInstance().getConfig().isClusterMode()
-        && IoTDBDescriptor.getInstance()
-            .getConfig()
-            .getDataRegionConsensusProtocolClass()
-            .equals(ConsensusFactory.RATIS_CONSENSUS)) {
+    if (IoTDBDescriptor.getInstance()
+        .getConfig()
+        .getDataRegionConsensusProtocolClass()
+        .equals(ConsensusFactory.RATIS_CONSENSUS)) {
       DataRegionConsensusImpl.getInstance()
           .getAllConsensusGroupIds()
           .parallelStream()
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/StorageEngine.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/StorageEngine.java
index fce7f95..14c3490 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/StorageEngine.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/StorageEngine.java
@@ -211,8 +211,7 @@
     asyncRecover(futures);
 
     // wait until wal is recovered
-    if (!CONFIG.isClusterMode()
-        || !CONFIG.getDataRegionConsensusProtocolClass().equals(ConsensusFactory.RATIS_CONSENSUS)) {
+    if (!CONFIG.getDataRegionConsensusProtocolClass().equals(ConsensusFactory.RATIS_CONSENSUS)) {
       try {
         WALRecoverManager.getInstance().recover();
       } catch (WALException e) {
@@ -730,10 +729,7 @@
         region.abortCompaction();
         region.syncDeleteDataFiles();
         region.deleteFolder(systemDir);
-        if (CONFIG.isClusterMode()
-            && CONFIG
-                .getDataRegionConsensusProtocolClass()
-                .equals(ConsensusFactory.IOT_CONSENSUS)) {
+        if (CONFIG.getDataRegionConsensusProtocolClass().equals(ConsensusFactory.IOT_CONSENSUS)) {
           // delete wal
           WALManager.getInstance()
               .deleteWALNode(
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/DataRegion.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/DataRegion.java
index 24eeb87..7b8aa50 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/DataRegion.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/DataRegion.java
@@ -312,11 +312,10 @@
     lastFlushTimeMap = new HashLastFlushTimeMap();
 
     // recover tsfiles unless consensus protocol is ratis and storage storageengine is not ready
-    if (config.isClusterMode()
-        && config.getDataRegionConsensusProtocolClass().equals(ConsensusFactory.RATIS_CONSENSUS)
+    if (config.getDataRegionConsensusProtocolClass().equals(ConsensusFactory.RATIS_CONSENSUS)
         && !StorageEngine.getInstance().isAllSgReady()) {
       logger.debug(
-          "Skip recovering data region {}[{}] when consensus protocol is ratis and storage storageengine is not ready.",
+          "Skip recovering data region {}[{}] when consensus protocol is ratis and storage engine is not ready.",
           databaseName,
           dataRegionId);
       for (String fileFolder : TierManager.getInstance().getAllFilesFolders()) {
@@ -619,7 +618,7 @@
     compactionRecoverManager.recoverCrossSpaceCompaction();
   }
 
-  private void updatePartitionFileVersion(long partitionNum, long fileVersion) {
+  public void updatePartitionFileVersion(long partitionNum, long fileVersion) {
     partitionMaxFileVersions.compute(
         partitionNum,
         (key, oldVersion) ->
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/wal/WALManager.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/wal/WALManager.java
index aa4ad28..c9830eb 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/wal/WALManager.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/wal/WALManager.java
@@ -69,8 +69,7 @@
   private final AtomicLong totalFileNum = new AtomicLong();
 
   private WALManager() {
-    if (config.isClusterMode()
-        && config.getDataRegionConsensusProtocolClass().equals(ConsensusFactory.IOT_CONSENSUS)) {
+    if (config.getDataRegionConsensusProtocolClass().equals(ConsensusFactory.IOT_CONSENSUS)) {
       walNodesManager = new FirstCreateStrategy();
     } else if (config.getMaxWalNodesNum() == 0) {
       walNodesManager = new ElasticStrategy();
@@ -100,7 +99,6 @@
   public void registerWALNode(
       String applicantUniqueId, String logDirectory, long startFileVersion, long startSearchIndex) {
     if (config.getWalMode() == WALMode.DISABLE
-        || !config.isClusterMode()
         || !config.getDataRegionConsensusProtocolClass().equals(ConsensusFactory.IOT_CONSENSUS)) {
       return;
     }
@@ -113,7 +111,6 @@
   /** WAL node will be deleted only when using iot consensus protocol. */
   public void deleteWALNode(String applicantUniqueId) {
     if (config.getWalMode() == WALMode.DISABLE
-        || !config.isClusterMode()
         || !config.getDataRegionConsensusProtocolClass().equals(ConsensusFactory.IOT_CONSENSUS)) {
       return;
     }
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/metadata/schemaRegion/AbstractSchemaRegionTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/metadata/schemaRegion/AbstractSchemaRegionTest.java
index 00900ea..4df89c4 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/metadata/schemaRegion/AbstractSchemaRegionTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/metadata/schemaRegion/AbstractSchemaRegionTest.java
@@ -52,10 +52,10 @@
   @Parameterized.Parameters(name = "{0}")
   public static List<SchemaRegionTestParams> getTestModes() {
     return Arrays.asList(
-        new SchemaRegionTestParams("MemoryMode", "Memory", -1, true),
-        new SchemaRegionTestParams("PBTree-FullMemory", "PBTree", 10000, true),
-        new SchemaRegionTestParams("PBTree-PartialMemory", "PBTree", 3, true),
-        new SchemaRegionTestParams("PBTree-NonMemory", "PBTree", 0, true));
+        new SchemaRegionTestParams("MemoryMode", "Memory", -1),
+        new SchemaRegionTestParams("PBTree-FullMemory", "PBTree", 10000),
+        new SchemaRegionTestParams("PBTree-PartialMemory", "PBTree", 3),
+        new SchemaRegionTestParams("PBTree-NonMemory", "PBTree", 0));
   }
 
   public AbstractSchemaRegionTest(SchemaRegionTestParams testParams) {
@@ -68,11 +68,9 @@
         new SchemaRegionTestParams(
             "Raw-Config",
             COMMON_CONFIG.getSchemaEngineMode(),
-            config.getCachedMNodeSizeInPBTreeMode(),
-            config.isClusterMode());
+            config.getCachedMNodeSizeInPBTreeMode());
     COMMON_CONFIG.setSchemaEngineMode(testParams.schemaEngineMode);
     config.setCachedMNodeSizeInPBTreeMode(testParams.cachedMNodeSize);
-    config.setClusterMode(testParams.isClusterMode);
     SchemaEngine.getInstance().init();
   }
 
@@ -82,7 +80,6 @@
     cleanEnv();
     COMMON_CONFIG.setSchemaEngineMode(rawConfig.schemaEngineMode);
     config.setCachedMNodeSizeInPBTreeMode(rawConfig.cachedMNodeSize);
-    config.setClusterMode(rawConfig.isClusterMode);
   }
 
   protected void cleanEnv() throws IOException {
@@ -110,14 +107,11 @@
 
     private final int cachedMNodeSize;
 
-    private final boolean isClusterMode;
-
     private SchemaRegionTestParams(
-        String testModeName, String schemaEngineMode, int cachedMNodeSize, boolean isClusterMode) {
+        String testModeName, String schemaEngineMode, int cachedMNodeSize) {
       this.testModeName = testModeName;
       this.schemaEngineMode = schemaEngineMode;
       this.cachedMNodeSize = cachedMNodeSize;
-      this.isClusterMode = isClusterMode;
     }
 
     public String getTestModeName() {
@@ -132,10 +126,6 @@
       return cachedMNodeSize;
     }
 
-    public boolean isClusterMode() {
-      return isClusterMode;
-    }
-
     @Override
     public String toString() {
       return testModeName;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/pipe/event/TsFileInsertionDataContainerTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/pipe/event/TsFileInsertionDataContainerTest.java
index 87de7b2..b8fc65e 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/pipe/event/TsFileInsertionDataContainerTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/pipe/event/TsFileInsertionDataContainerTest.java
@@ -235,7 +235,7 @@
       long startTime,
       long endTime)
       throws Exception {
-    LOGGER.info(
+    LOGGER.debug(
         "testToTabletInsertionEvents: deviceNumber: {}, measurementNumber: {}, rowNumberInOneDevice: {}, patternFormat: {}, startTime: {}, endTime: {}",
         deviceNumber,
         measurementNumber,
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/allocation/ElasticStrategyTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/allocation/ElasticStrategyTest.java
index e48cf1d..36f5c5c 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/allocation/ElasticStrategyTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/allocation/ElasticStrategyTest.java
@@ -31,6 +31,7 @@
 import org.apache.iotdb.tsfile.common.conf.TSFileConfig;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.utils.Binary;
+import org.apache.iotdb.tsfile.write.schema.MeasurementSchema;
 
 import org.junit.After;
 import org.junit.Before;
@@ -123,12 +124,23 @@
     columns[4] = false;
     columns[5] = new Binary("hh" + 0, TSFileConfig.STRING_CHARSET);
 
+    MeasurementSchema[] schemas =
+        new MeasurementSchema[] {
+          new MeasurementSchema("s1", dataTypes[0]),
+          new MeasurementSchema("s2", dataTypes[1]),
+          new MeasurementSchema("s3", dataTypes[2]),
+          new MeasurementSchema("s4", dataTypes[3]),
+          new MeasurementSchema("s5", dataTypes[4]),
+          new MeasurementSchema("s6", dataTypes[5]),
+        };
+
     return new InsertRowNode(
         new PlanNodeId("0"),
         new PartialPath("root.test_sg.test_d"),
         false,
         new String[] {"s1", "s2", "s3", "s4", "s5", "s6"},
         dataTypes,
+        schemas,
         time,
         columns,
         true);
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/allocation/FirstCreateStrategyTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/allocation/FirstCreateStrategyTest.java
index 5514887..393f5fe 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/allocation/FirstCreateStrategyTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/allocation/FirstCreateStrategyTest.java
@@ -31,6 +31,7 @@
 import org.apache.iotdb.tsfile.common.conf.TSFileConfig;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.utils.Binary;
+import org.apache.iotdb.tsfile.write.schema.MeasurementSchema;
 
 import org.junit.After;
 import org.junit.Before;
@@ -160,12 +161,23 @@
     columns[4] = false;
     columns[5] = new Binary("hh" + 0, TSFileConfig.STRING_CHARSET);
 
+    MeasurementSchema[] schemas =
+        new MeasurementSchema[] {
+          new MeasurementSchema("s1", dataTypes[0]),
+          new MeasurementSchema("s2", dataTypes[1]),
+          new MeasurementSchema("s3", dataTypes[2]),
+          new MeasurementSchema("s4", dataTypes[3]),
+          new MeasurementSchema("s5", dataTypes[4]),
+          new MeasurementSchema("s6", dataTypes[5]),
+        };
+
     return new InsertRowNode(
         new PlanNodeId("0"),
         new PartialPath("root.test_sg.test_d"),
         false,
         new String[] {"s1", "s2", "s3", "s4", "s5", "s6"},
         dataTypes,
+        schemas,
         time,
         columns,
         true);
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/allocation/RoundRobinStrategyTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/allocation/RoundRobinStrategyTest.java
index 7559e83..2634f91 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/allocation/RoundRobinStrategyTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/allocation/RoundRobinStrategyTest.java
@@ -31,6 +31,7 @@
 import org.apache.iotdb.tsfile.common.conf.TSFileConfig;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.utils.Binary;
+import org.apache.iotdb.tsfile.write.schema.MeasurementSchema;
 
 import org.junit.After;
 import org.junit.Before;
@@ -123,12 +124,23 @@
     columns[4] = false;
     columns[5] = new Binary("hh" + 0, TSFileConfig.STRING_CHARSET);
 
+    MeasurementSchema[] schemas =
+        new MeasurementSchema[] {
+          new MeasurementSchema("s1", dataTypes[0]),
+          new MeasurementSchema("s2", dataTypes[1]),
+          new MeasurementSchema("s3", dataTypes[2]),
+          new MeasurementSchema("s4", dataTypes[3]),
+          new MeasurementSchema("s5", dataTypes[4]),
+          new MeasurementSchema("s6", dataTypes[5]),
+        };
+
     return new InsertRowNode(
         new PlanNodeId("0"),
         new PartialPath("root.test_sg.test_d"),
         false,
         new String[] {"s1", "s2", "s3", "s4", "s5", "s6"},
         dataTypes,
+        schemas,
         time,
         columns,
         true);
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/buffer/WALBufferCommonTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/buffer/WALBufferCommonTest.java
index 2304c4d..179c2ac 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/buffer/WALBufferCommonTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/buffer/WALBufferCommonTest.java
@@ -54,7 +54,6 @@
 public abstract class WALBufferCommonTest {
   protected static final IoTDBConfig config = IoTDBDescriptor.getInstance().getConfig();
   protected static final String identifier = String.valueOf(Integer.MAX_VALUE);
-  protected static final boolean preIsClusterMode = config.isClusterMode();
   protected static final String logDirectory = TestConstant.BASE_OUTPUT_PATH.concat("wal-test");
   protected static final String devicePath = "root.test_sg.test_d";
   protected IWALBuffer walBuffer;
@@ -62,13 +61,11 @@
   @Before
   public void setUp() throws Exception {
     walBuffer = new WALBuffer(identifier, logDirectory);
-    config.setClusterMode(true);
   }
 
   @After
   public void tearDown() throws Exception {
     walBuffer.close();
-    config.setClusterMode(preIsClusterMode);
   }
 
   @Test
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/io/WALFileTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/io/WALFileTest.java
index 1034a71..949ad20 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/io/WALFileTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/io/WALFileTest.java
@@ -20,7 +20,6 @@
 
 import org.apache.iotdb.commons.exception.IllegalPathException;
 import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.conf.IoTDBDescriptor;
 import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeId;
 import org.apache.iotdb.db.queryengine.plan.planner.plan.node.write.DeleteDataNode;
 import org.apache.iotdb.db.queryengine.plan.planner.plan.node.write.InsertRowNode;
@@ -54,7 +53,6 @@
 
 public class WALFileTest {
 
-  boolean prevIsCluster;
   private final File walFile =
       new File(
           TestConstant.BASE_OUTPUT_PATH.concat(
@@ -66,8 +64,6 @@
     if (walFile.exists()) {
       Files.delete(walFile.toPath());
     }
-    prevIsCluster = IoTDBDescriptor.getInstance().getConfig().isClusterMode();
-    IoTDBDescriptor.getInstance().getConfig().setClusterMode(true);
   }
 
   @After
@@ -75,7 +71,6 @@
     if (walFile.exists()) {
       Files.delete(walFile.toPath());
     }
-    IoTDBDescriptor.getInstance().getConfig().setClusterMode(prevIsCluster);
   }
 
   @Test
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/node/ConsensusReqReaderTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/node/ConsensusReqReaderTest.java
index 7f6fe5f..533f870 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/node/ConsensusReqReaderTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/node/ConsensusReqReaderTest.java
@@ -63,7 +63,6 @@
   @Before
   public void setUp() throws Exception {
     EnvironmentUtils.cleanDir(logDirectory);
-    config.setClusterMode(true);
     prevMode = config.getWalMode();
     config.setWalMode(WALMode.SYNC);
     walNode = new WALNode(identifier, logDirectory);
@@ -73,7 +72,6 @@
   public void tearDown() throws Exception {
     walNode.close();
     config.setWalMode(prevMode);
-    config.setClusterMode(false);
     EnvironmentUtils.cleanDir(logDirectory);
   }
 
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/node/WALEntryHandlerTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/node/WALEntryHandlerTest.java
index 58e9aef..0a09c96 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/node/WALEntryHandlerTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/node/WALEntryHandlerTest.java
@@ -73,7 +73,6 @@
   private static final String devicePath = databasePath + ".test_d";
   private static final String dataRegionId = "1";
   private WALMode prevMode;
-  private boolean prevIsClusterMode;
   private WALNode walNode1;
   private WALNode walNode2;
 
@@ -82,9 +81,7 @@
     EnvironmentUtils.cleanDir(logDirectory1);
     EnvironmentUtils.cleanDir(logDirectory2);
     prevMode = config.getWalMode();
-    prevIsClusterMode = config.isClusterMode();
     config.setWalMode(WALMode.SYNC);
-    config.setClusterMode(true);
     walNode1 = new WALNode(identifier1, logDirectory1);
     walNode2 = new WALNode(identifier2, logDirectory2);
   }
@@ -94,7 +91,6 @@
     walNode1.close();
     walNode2.close();
     config.setWalMode(prevMode);
-    config.setClusterMode(prevIsClusterMode);
     EnvironmentUtils.cleanDir(logDirectory1);
     EnvironmentUtils.cleanDir(logDirectory2);
     WALInsertNodeCache.getInstance(1).clear();
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/node/WALNodeTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/node/WALNodeTest.java
index 67d71ad..8a4f5bf 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/node/WALNodeTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/node/WALNodeTest.java
@@ -18,12 +18,15 @@
  */
 package org.apache.iotdb.db.storageengine.dataregion.wal.node;
 
+import org.apache.iotdb.commons.consensus.DataRegionId;
 import org.apache.iotdb.commons.exception.IllegalPathException;
 import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.db.conf.IoTDBConfig;
 import org.apache.iotdb.db.conf.IoTDBDescriptor;
 import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeId;
 import org.apache.iotdb.db.queryengine.plan.planner.plan.node.write.InsertTabletNode;
+import org.apache.iotdb.db.storageengine.StorageEngine;
+import org.apache.iotdb.db.storageengine.dataregion.DataRegionTest;
 import org.apache.iotdb.db.storageengine.dataregion.memtable.IMemTable;
 import org.apache.iotdb.db.storageengine.dataregion.memtable.PrimitiveMemTable;
 import org.apache.iotdb.db.storageengine.dataregion.wal.checkpoint.MemTableInfo;
@@ -74,16 +77,13 @@
   private static final String devicePath = databasePath + ".test_d";
   private static final String dataRegionId = "1";
   private WALMode prevMode;
-  private boolean prevIsClusterMode;
   private WALNode walNode;
 
   @Before
   public void setUp() throws Exception {
     EnvironmentUtils.cleanDir(logDirectory);
     prevMode = config.getWalMode();
-    prevIsClusterMode = config.isClusterMode();
     config.setWalMode(WALMode.SYNC);
-    config.setClusterMode(true);
     walNode = new WALNode(identifier, logDirectory);
   }
 
@@ -91,8 +91,8 @@
   public void tearDown() throws Exception {
     walNode.close();
     config.setWalMode(prevMode);
-    config.setClusterMode(prevIsClusterMode);
     EnvironmentUtils.cleanDir(logDirectory);
+    StorageEngine.getInstance().reset();
   }
 
   @Test
@@ -268,7 +268,20 @@
     long time = 0;
     IMemTable memTable = new PrimitiveMemTable(databasePath, dataRegionId);
     long memTableId = memTable.getMemTableId();
-    String tsFilePath = logDirectory + File.separator + memTableId + ".tsfile";
+    String tsFilePath =
+        logDirectory
+            + File.separator
+            + databasePath
+            + File.separator
+            + dataRegionId
+            + File.separator
+            + "-1"
+            + File.separator
+            + memTableId
+            + ".tsfile";
+    StorageEngine.getInstance()
+        .setDataRegion(
+            new DataRegionId(1), new DataRegionTest.DummyDataRegion(logDirectory, databasePath));
     walNode.onMemTableCreated(memTable, tsFilePath);
     while (walNode.getCurrentLogVersion() == 0) {
       ++time;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/node/WalDeleteOutdatedNewTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/node/WalDeleteOutdatedNewTest.java
index c528965..a7c81e2 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/node/WalDeleteOutdatedNewTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/node/WalDeleteOutdatedNewTest.java
@@ -19,6 +19,7 @@
 
 package org.apache.iotdb.db.storageengine.dataregion.wal.node;
 
+import org.apache.iotdb.commons.consensus.DataRegionId;
 import org.apache.iotdb.commons.exception.IllegalPathException;
 import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.consensus.iot.log.ConsensusReqReader;
@@ -26,6 +27,9 @@
 import org.apache.iotdb.db.conf.IoTDBDescriptor;
 import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeId;
 import org.apache.iotdb.db.queryengine.plan.planner.plan.node.write.InsertRowNode;
+import org.apache.iotdb.db.storageengine.StorageEngine;
+import org.apache.iotdb.db.storageengine.dataregion.DataRegion;
+import org.apache.iotdb.db.storageengine.dataregion.DataRegionTest;
 import org.apache.iotdb.db.storageengine.dataregion.memtable.IMemTable;
 import org.apache.iotdb.db.storageengine.dataregion.memtable.PrimitiveMemTable;
 import org.apache.iotdb.db.storageengine.dataregion.wal.exception.MemTablePinException;
@@ -54,31 +58,31 @@
 public class WalDeleteOutdatedNewTest {
   private static final IoTDBConfig config = IoTDBDescriptor.getInstance().getConfig();
   private static final String identifier1 = String.valueOf(Integer.MAX_VALUE);
-  private static final String logDirectory1 = TestConstant.BASE_OUTPUT_PATH.concat("1/2910/");
+  private static final String logDirectory1 =
+      TestConstant.BASE_OUTPUT_PATH.concat("sequence/root.test_sg/1/2910/");
   private static final String databasePath = "root.test_sg";
   private static final String devicePath = databasePath + ".test_d";
   private static final String dataRegionId = "1";
   private WALMode prevMode;
-  private boolean prevIsClusterMode;
   private WALNode walNode1;
 
   @Before
   public void setUp() throws Exception {
     EnvironmentUtils.cleanDir(logDirectory1);
     prevMode = config.getWalMode();
-    prevIsClusterMode = config.isClusterMode();
     config.setWalMode(WALMode.SYNC);
-    config.setClusterMode(true);
     walNode1 = new WALNode(identifier1, logDirectory1);
+    DataRegion dataRegion = new DataRegionTest.DummyDataRegion(logDirectory1, databasePath);
+    dataRegion.updatePartitionFileVersion(2911, 0);
+    StorageEngine.getInstance().setDataRegion(new DataRegionId(1), dataRegion);
   }
 
   @After
   public void tearDown() throws Exception {
     walNode1.close();
     config.setWalMode(prevMode);
-    config.setClusterMode(prevIsClusterMode);
     EnvironmentUtils.cleanDir(logDirectory1);
-
+    StorageEngine.getInstance().reset();
     WALInsertNodeCache.getInstance(1).clear();
   }
 
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/recover/WALRecoverManagerTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/recover/WALRecoverManagerTest.java
index 089220b..72f4a80 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/recover/WALRecoverManagerTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/recover/WALRecoverManagerTest.java
@@ -109,14 +109,10 @@
   private TsFileResource tsFileWithWALResource;
   private TsFileResource tsFileWithoutWALResource;
 
-  private boolean isClusterMode;
-
   @Before
   public void setUp() throws Exception {
-    isClusterMode = config.isClusterMode();
     EnvironmentUtils.cleanDir(new File(FILE_WITH_WAL_NAME).getParent());
     EnvironmentUtils.envSetUp();
-    config.setClusterMode(true);
     prevMode = config.getWalMode();
     config.setWalMode(WALMode.SYNC);
     walBuffer = new WALBuffer(WAL_NODE_IDENTIFIER, WAL_NODE_FOLDER);
@@ -134,7 +130,6 @@
     checkpointManager.close();
     walBuffer.close();
     config.setWalMode(prevMode);
-    config.setClusterMode(isClusterMode);
     EnvironmentUtils.cleanDir(new File(FILE_WITH_WAL_NAME).getParent());
     EnvironmentUtils.cleanDir(new File(FILE_WITHOUT_WAL_NAME).getParent());
     EnvironmentUtils.cleanEnv();
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/recover/file/TsFilePlanRedoerTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/recover/file/TsFilePlanRedoerTest.java
index dfc8c2c..8b9e003 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/recover/file/TsFilePlanRedoerTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/recover/file/TsFilePlanRedoerTest.java
@@ -83,13 +83,10 @@
   private CompressionType compressionType;
   boolean prevIsAutoCreateSchemaEnabled;
   boolean prevIsEnablePartialInsert;
-  boolean prevIsCluster;
 
   @Before
   public void setUp() throws Exception {
-    prevIsCluster = IoTDBDescriptor.getInstance().getConfig().isClusterMode();
     EnvironmentUtils.envSetUp();
-    IoTDBDescriptor.getInstance().getConfig().setClusterMode(true);
 
     // set recover config, avoid creating deleted time series when recovering wal
     prevIsAutoCreateSchemaEnabled =
@@ -109,7 +106,6 @@
     if (modsFile.exists()) {
       modsFile.delete();
     }
-    IoTDBDescriptor.getInstance().getConfig().setClusterMode(prevIsCluster);
     EnvironmentUtils.cleanEnv();
     // reset config
     //    IoTDBDescriptor.getInstance()
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/recover/file/UnsealedTsFileRecoverPerformerTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/recover/file/UnsealedTsFileRecoverPerformerTest.java
index 93c0722..cf679e6 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/recover/file/UnsealedTsFileRecoverPerformerTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/recover/file/UnsealedTsFileRecoverPerformerTest.java
@@ -75,14 +75,10 @@
       TsFileUtilsForRecoverTest.getTestTsFilePath(SG_NAME, 0, 0, 1);
   private TsFileResource tsFileResource;
 
-  private boolean isClusterMode;
-
   @Before
   public void setUp() throws Exception {
     EnvironmentUtils.cleanDir(new File(FILE_NAME).getParent());
     EnvironmentUtils.envSetUp();
-    isClusterMode = config.isClusterMode();
-    config.setClusterMode(true);
   }
 
   @After
@@ -90,7 +86,6 @@
     if (tsFileResource != null) {
       tsFileResource.close();
     }
-    config.setClusterMode(isClusterMode);
     EnvironmentUtils.cleanDir(new File(FILE_NAME).getParent());
     EnvironmentUtils.cleanEnv();
   }
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/utils/WALInsertNodeCacheTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/utils/WALInsertNodeCacheTest.java
index 915ef75..c519f80 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/utils/WALInsertNodeCacheTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/utils/WALInsertNodeCacheTest.java
@@ -57,7 +57,6 @@
   private static final String dataRegionId = "1";
   private static final WALInsertNodeCache cache = WALInsertNodeCache.getInstance(1);
   private WALMode prevMode;
-  private boolean prevIsClusterMode;
   private WALNode walNode;
 
   @Before
@@ -65,9 +64,7 @@
     EnvironmentUtils.cleanDir(logDirectory);
     cache.clear();
     prevMode = config.getWalMode();
-    prevIsClusterMode = config.isClusterMode();
     config.setWalMode(WALMode.SYNC);
-    config.setClusterMode(true);
     walNode = new WALNode(identifier, logDirectory);
   }
 
@@ -76,7 +73,6 @@
     walNode.close();
     cache.clear();
     config.setWalMode(prevMode);
-    config.setClusterMode(prevIsClusterMode);
     EnvironmentUtils.cleanDir(logDirectory);
   }
 
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/tools/MLogParserTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/tools/MLogParserTest.java
index aa48e28..70277e8 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/tools/MLogParserTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/tools/MLogParserTest.java
@@ -24,6 +24,8 @@
 import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.commons.path.PathPatternTree;
 import org.apache.iotdb.commons.schema.SchemaConstant;
+import org.apache.iotdb.consensus.ConsensusFactory;
+import org.apache.iotdb.db.conf.IoTDBConfig;
 import org.apache.iotdb.db.conf.IoTDBDescriptor;
 import org.apache.iotdb.db.schemaengine.SchemaEngine;
 import org.apache.iotdb.db.schemaengine.schemaregion.write.req.SchemaRegionWritePlanFactory;
@@ -49,6 +51,7 @@
 
 public class MLogParserTest {
 
+  private static final IoTDBConfig config = IoTDBDescriptor.getInstance().getConfig();
   private String[] storageGroups = new String[] {"root.sg0", "root.sg1", "root.sg"};
   private int[] schemaRegionIds = new int[] {0, 1, 2};
 
@@ -63,8 +66,12 @@
    * */
   private int[] mlogLineNum = new int[] {50, 54, 0};
 
+  private String schemaRegionConsensusProtocolClass;
+
   @Before
   public void setUp() {
+    schemaRegionConsensusProtocolClass = config.getSchemaRegionConsensusProtocolClass();
+    config.setSchemaRegionConsensusProtocolClass(ConsensusFactory.SIMPLE_CONSENSUS);
     EnvironmentUtils.envSetUp();
   }
 
@@ -75,6 +82,7 @@
     file = new File("target" + File.separator + "tmp" + File.separator + "text.snapshot");
     file.delete();
     EnvironmentUtils.cleanEnv();
+    config.setSchemaRegionConsensusProtocolClass(schemaRegionConsensusProtocolClass);
   }
 
   private void prepareData() throws Exception {
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/tools/TsFileSelfCheckToolTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/tools/TsFileSelfCheckToolTest.java
index 00106e4..01488d0 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/tools/TsFileSelfCheckToolTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/tools/TsFileSelfCheckToolTest.java
@@ -53,7 +53,7 @@
 public class TsFileSelfCheckToolTest {
 
   String path =
-      "data"
+      "target"
           .concat(File.separator)
           .concat("data")
           .concat(File.separator)
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/tools/TsFileSketchToolTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/tools/TsFileSketchToolTest.java
index 4237c0a..160dd2b 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/tools/TsFileSketchToolTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/tools/TsFileSketchToolTest.java
@@ -45,7 +45,7 @@
 
 public class TsFileSketchToolTest {
   String path =
-      "data"
+      "target"
           .concat(File.separator)
           .concat("data")
           .concat(File.separator)
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/utils/SchemaRegionSnapshotParserTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/utils/SchemaRegionSnapshotParserTest.java
index 242c9f9..d0d48b0 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/utils/SchemaRegionSnapshotParserTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/utils/SchemaRegionSnapshotParserTest.java
@@ -75,13 +75,10 @@
   protected static class SchemaRegionSnapshotParserTestParams {
     private final String testModeName;
     private final String schemaRegionMode;
-    private final boolean isClusterMode;
 
-    private SchemaRegionSnapshotParserTestParams(
-        String testModeName, String schemaEngineMode, boolean isClusterMode) {
+    private SchemaRegionSnapshotParserTestParams(String testModeName, String schemaEngineMode) {
       this.testModeName = testModeName;
       this.schemaRegionMode = schemaEngineMode;
-      this.isClusterMode = isClusterMode;
     }
 
     public String getTestModeName() {
@@ -92,10 +89,6 @@
       return this.schemaRegionMode;
     }
 
-    public boolean getClusterMode() {
-      return this.isClusterMode;
-    }
-
     @Override
     public String toString() {
       return testModeName;
@@ -107,17 +100,15 @@
   @Parameterized.Parameters(name = "{0}")
   public static List<SchemaRegionSnapshotParserTestParams> getTestModes() {
     return Arrays.asList(
-        new SchemaRegionSnapshotParserTestParams("MemoryMode", "Memory", true),
-        new SchemaRegionSnapshotParserTestParams("PBTree", "PBTree", true));
+        new SchemaRegionSnapshotParserTestParams("MemoryMode", "Memory"),
+        new SchemaRegionSnapshotParserTestParams("PBTree", "PBTree"));
   }
 
   @Before
   public void setUp() throws Exception {
     rawConfig =
-        new SchemaRegionSnapshotParserTestParams(
-            "Raw-Config", COMMON_CONFIG.getSchemaEngineMode(), config.isClusterMode());
+        new SchemaRegionSnapshotParserTestParams("Raw-Config", COMMON_CONFIG.getSchemaEngineMode());
     COMMON_CONFIG.setSchemaEngineMode(testParams.schemaRegionMode);
-    config.setClusterMode(testParams.isClusterMode);
     SchemaEngine.getInstance().init();
     if (testParams.schemaRegionMode.equals("Memory")) {
       snapshotFileName = SchemaConstant.MTREE_SNAPSHOT;
@@ -131,7 +122,6 @@
     SchemaEngine.getInstance().clear();
     cleanEnv();
     COMMON_CONFIG.setSchemaEngineMode(rawConfig.schemaRegionMode);
-    config.setClusterMode(rawConfig.isClusterMode);
   }
 
   protected void cleanEnv() throws IOException {