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

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


The following commit(s) were added to refs/heads/accelerate_recovery by this 
push:
     new b7daccdbde1 initCompaction after all databases are ready
b7daccdbde1 is described below

commit b7daccdbde1dd4beed4cf9f0a201e32210e90d20
Author: HTHou <[email protected]>
AuthorDate: Thu Oct 26 18:33:18 2023 +0800

    initCompaction after all databases are ready
---
 .../iotdb/db/storageengine/dataregion/DataRegion.java      | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

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 8bce9f4f6ee..331b13130fb 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
@@ -559,14 +559,22 @@ public class DataRegion implements IDataRegionForQuery {
       throw new DataRegionException(e);
     }
 
-    // recover and start timed compaction thread
-    initCompaction();
-
     if (StorageEngine.getInstance().isAllSgReady()) {
       logger.info("The data region {}[{}] is created successfully", 
databaseName, dataRegionId);
     } 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) {

Reply via email to