This is an automated email from the ASF dual-hosted git repository. haonan pushed a commit to branch rc/1.3.1 in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 6def1830b67b8eb51069ed2437fa7fafd578bf0d Author: shuwenwei <[email protected]> AuthorDate: Tue Mar 12 09:34:45 2024 +0800 fix StorageEngine recover slowly (#12151) --- .../compaction/schedule/CompactionScheduleTaskWorker.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/schedule/CompactionScheduleTaskWorker.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/schedule/CompactionScheduleTaskWorker.java index 6c9d68b3c6e..b6b438e1b80 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/schedule/CompactionScheduleTaskWorker.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/schedule/CompactionScheduleTaskWorker.java @@ -20,6 +20,7 @@ package org.apache.iotdb.db.storageengine.dataregion.compaction.schedule; import org.apache.iotdb.db.conf.IoTDBDescriptor; +import org.apache.iotdb.db.storageengine.StorageEngine; import org.apache.iotdb.db.storageengine.dataregion.DataRegion; import org.slf4j.Logger; @@ -47,6 +48,10 @@ public class CompactionScheduleTaskWorker implements Callable<Void> { public Void call() { while (true) { try { + Thread.sleep(IoTDBDescriptor.getInstance().getConfig().getCompactionScheduleIntervalInMs()); + if (!StorageEngine.getInstance().isAllSgReady()) { + continue; + } List<DataRegion> dataRegionListSnapshot = new ArrayList<>(dataRegionList); for (int i = 0; i < dataRegionListSnapshot.size(); i++) { if (i % workerNum != workerId) { @@ -58,7 +63,6 @@ public class CompactionScheduleTaskWorker implements Callable<Void> { } dataRegion.executeCompaction(); } - Thread.sleep(IoTDBDescriptor.getInstance().getConfig().getCompactionScheduleIntervalInMs()); } catch (InterruptedException ignored) { logger.info( "[CompactionScheduleTaskWorker-{}] compaction schedule is interrupted", workerId);
