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

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

commit 0105c55388b7555fe114c8313bd929bbf3099d9e
Author: HTHou <[email protected]>
AuthorDate: Thu Oct 26 19:40:03 2023 +0800

    initCompaction after all databases are ready
---
 .../org/apache/iotdb/db/storageengine/StorageEngine.java    |  5 +++++
 .../iotdb/db/storageengine/dataregion/DataRegion.java       | 13 +------------
 2 files changed, 6 insertions(+), 12 deletions(-)

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 1ee4eb12335..d2741824d08 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
@@ -296,6 +296,11 @@ public class StorageEngine implements IService {
     }
 
     recover();
+    for (DataRegion dataRegion : dataRegionMap.values()) {
+      if (dataRegion != null) {
+        dataRegion.initCompaction();
+      }
+    }
 
     ttlCheckThread =
         
IoTDBThreadPoolFactory.newSingleThreadScheduledExecutor(ThreadName.TTL_CHECK.getName());
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 226a00f0a58..b5bf310c6e7 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
@@ -564,17 +564,6 @@ public class DataRegion implements IDataRegionForQuery {
     } else {
       logger.info("The data region {}[{}] is recovered successfully", 
databaseName, dataRegionId);
     }
-
-    while (!StorageEngine.getInstance().isAllSgReady()) {
-      try {
-        TimeUnit.MILLISECONDS.sleep(1000);
-      } catch (InterruptedException e) {
-        Thread.currentThread().interrupt();
-        return;
-      }
-    }
-    // recover and start timed compaction thread
-    initCompaction();
   }
 
   private void updateLastFlushTime(TsFileResource resource, boolean isSeq) {
@@ -591,7 +580,7 @@ public class DataRegion implements IDataRegionForQuery {
     }
   }
 
-  private void initCompaction() {
+  public void initCompaction() {
     if (!config.isEnableSeqSpaceCompaction()
         && !config.isEnableUnseqSpaceCompaction()
         && !config.isEnableCrossSpaceCompaction()) {

Reply via email to