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

heiming pushed a commit to branch tiered_storage
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/tiered_storage by this push:
     new 0819828ee7a support hot modify data_dirs
0819828ee7a is described below

commit 0819828ee7a174b49e2e0c28b36054d3f07686c8
Author: HeimingZ <[email protected]>
AuthorDate: Mon May 29 17:21:48 2023 +0800

    support hot modify data_dirs
---
 server/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java    | 2 --
 .../src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java   | 8 ++++----
 .../java/org/apache/iotdb/db/conf/directories/TierManager.java    | 2 +-
 3 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/server/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java 
b/server/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java
index 120c3805dbc..56335e03c2e 100644
--- a/server/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java
+++ b/server/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java
@@ -25,7 +25,6 @@ import org.apache.iotdb.commons.utils.TestOnly;
 import org.apache.iotdb.consensus.ConsensusFactory;
 import org.apache.iotdb.db.audit.AuditLogOperation;
 import org.apache.iotdb.db.audit.AuditLogStorage;
-import org.apache.iotdb.db.conf.directories.TierManager;
 import 
org.apache.iotdb.db.engine.compaction.execute.performer.constant.CrossCompactionPerformer;
 import 
org.apache.iotdb.db.engine.compaction.execute.performer.constant.InnerSeqCompactionPerformer;
 import 
org.apache.iotdb.db.engine.compaction.execute.performer.constant.InnerUnseqCompactionPerformer;
@@ -1324,7 +1323,6 @@ public class IoTDBConfig {
       }
     }
     this.tierDataDirs = tierDataDirs;
-    TierManager.getInstance().resetFolders();
   }
 
   // if IOTDB_DATA_HOME is not set, then we keep dataHomeDir prefix being the 
same with IOTDB_HOME
diff --git a/server/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java 
b/server/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java
index f998f8b3eec..3c67feff6c7 100644
--- a/server/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java
+++ b/server/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java
@@ -27,6 +27,7 @@ import org.apache.iotdb.commons.utils.NodeUrlUtils;
 import org.apache.iotdb.confignode.rpc.thrift.TCQConfig;
 import org.apache.iotdb.confignode.rpc.thrift.TGlobalConfig;
 import org.apache.iotdb.confignode.rpc.thrift.TRatisConfig;
+import org.apache.iotdb.db.conf.directories.TierManager;
 import org.apache.iotdb.db.engine.StorageEngine;
 import 
org.apache.iotdb.db.engine.compaction.execute.performer.constant.CrossCompactionPerformer;
 import 
org.apache.iotdb.db.engine.compaction.execute.performer.constant.InnerSeqCompactionPerformer;
@@ -1592,22 +1593,21 @@ public class IoTDBDescriptor {
 
   public void loadHotModifiedProps(Properties properties) throws 
QueryProcessException {
     try {
-      /* TODO(zhm) 暂时不支持更新data dirs和DirStrategy
       // update data dirs
       String dataDirs = properties.getProperty("dn_data_dirs", null);
       if (dataDirs != null) {
         conf.reloadDataDirs(parseDataDirs(dataDirs));
       }
 
-      // update dir strategy, must update after data dirs
+      // update dir strategy
       String multiDirStrategyClassName = 
properties.getProperty("dn_multi_dir_strategy", null);
       if (multiDirStrategyClassName != null
           && 
!multiDirStrategyClassName.equals(conf.getMultiDirStrategyClassName())) {
         conf.setMultiDirStrategyClassName(multiDirStrategyClassName);
         conf.confirmMultiDirStrategy();
-        DirectoryManager.getInstance().updateDirectoryStrategy();
       }
-      */
+
+      TierManager.getInstance().resetFolders();
 
       // update timed flush & close conf
       loadTimedService(properties);
diff --git 
a/server/src/main/java/org/apache/iotdb/db/conf/directories/TierManager.java 
b/server/src/main/java/org/apache/iotdb/db/conf/directories/TierManager.java
index 910ab46bfd4..db69bdb267d 100644
--- a/server/src/main/java/org/apache/iotdb/db/conf/directories/TierManager.java
+++ b/server/src/main/java/org/apache/iotdb/db/conf/directories/TierManager.java
@@ -72,7 +72,7 @@ public class TierManager {
 
   private TierManager() {}
 
-  public void resetFolders() {
+  public synchronized void resetFolders() {
     if (config.getDataNodeId() == -1) {
       return;
     }

Reply via email to