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

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


The following commit(s) were added to refs/heads/autoai by this push:
     new 752f187  do not call submitTask in CompactionMergeTaskPoolManager
752f187 is described below

commit 752f1874e9b7bb5dfec6b57aaabcd164522c8516
Author: qiaojialin <[email protected]>
AuthorDate: Wed Aug 4 23:06:28 2021 +0800

    do not call submitTask in CompactionMergeTaskPoolManager
---
 .../compaction/CompactionMergeTaskPoolManager.java | 24 ++++++++++------------
 .../engine/storagegroup/StorageGroupProcessor.java | 17 +++++++++------
 .../java/org/apache/iotdb/db/service/IoTDB.java    |  1 +
 3 files changed, 23 insertions(+), 19 deletions(-)

diff --git 
a/server/src/main/java/org/apache/iotdb/db/engine/compaction/CompactionMergeTaskPoolManager.java
 
b/server/src/main/java/org/apache/iotdb/db/engine/compaction/CompactionMergeTaskPoolManager.java
index b8d8050..e347300 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/engine/compaction/CompactionMergeTaskPoolManager.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/engine/compaction/CompactionMergeTaskPoolManager.java
@@ -201,20 +201,18 @@ public class CompactionMergeTaskPoolManager implements 
IService {
 
   public synchronized void submitTask(StorageGroupCompactionTask 
storageGroupCompactionTask)
       throws RejectedExecutionException {
-    if (config.getCompactionStrategy() == CompactionStrategy.LEVEL_COMPACTION) 
{
-      if (pool != null && !pool.isTerminated()) {
-        String storageGroup = storageGroupCompactionTask.getStorageGroupName();
-        boolean isCompacting = 
sgCompactionStatus.computeIfAbsent(storageGroup, k -> false);
-        if (isCompacting) {
-          return;
-        }
-        storageGroupCompactionTask.setSgCompactionStatus(sgCompactionStatus);
-        sgCompactionStatus.put(storageGroup, true);
-        Future<Void> future = pool.submit(storageGroupCompactionTask);
-        storageGroupTasks
-            .computeIfAbsent(storageGroup, k -> new CopyOnWriteArrayList<>())
-            .add(future);
+    if (pool != null && !pool.isTerminated()) {
+      String storageGroup = storageGroupCompactionTask.getStorageGroupName();
+      boolean isCompacting = sgCompactionStatus.computeIfAbsent(storageGroup, 
k -> false);
+      if (isCompacting) {
+        return;
       }
+      storageGroupCompactionTask.setSgCompactionStatus(sgCompactionStatus);
+      sgCompactionStatus.put(storageGroup, true);
+      Future<Void> future = pool.submit(storageGroupCompactionTask);
+      storageGroupTasks
+          .computeIfAbsent(storageGroup, k -> new CopyOnWriteArrayList<>())
+          .add(future);
     }
   }
 
diff --git 
a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java
 
b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java
index 6e589d3..2fdb61d 100755
--- 
a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java
@@ -24,6 +24,7 @@ import org.apache.iotdb.db.conf.IoTDBDescriptor;
 import org.apache.iotdb.db.conf.directories.DirectoryManager;
 import org.apache.iotdb.db.engine.StorageEngine;
 import org.apache.iotdb.db.engine.compaction.CompactionMergeTaskPoolManager;
+import org.apache.iotdb.db.engine.compaction.CompactionStrategy;
 import org.apache.iotdb.db.engine.compaction.StorageGroupCompactionTask;
 import org.apache.iotdb.db.engine.compaction.TsFileManagement;
 import org.apache.iotdb.db.engine.fileSystem.SystemFileFactory;
@@ -1952,10 +1953,12 @@ public class StorageGroupProcessor {
         "signal closing storage group condition in {}",
         logicalStorageGroupName + "-" + virtualStorageGroupId);
 
-    CompactionMergeTaskPoolManager.getInstance()
-        .submitTask(
-            new CompactionOnePartitionTask(
-                logicalStorageGroupName, tsFileProcessor.getTimeRangeId()));
+    if (config.getCompactionStrategy() == CompactionStrategy.LEVEL_COMPACTION) 
{
+      CompactionMergeTaskPoolManager.getInstance()
+          .submitTask(
+              new CompactionOnePartitionTask(
+                  logicalStorageGroupName, tsFileProcessor.getTimeRangeId()));
+    }
   }
 
   public class CompactionOnePartitionTask extends StorageGroupCompactionTask {
@@ -2107,8 +2110,10 @@ public class StorageGroupProcessor {
   }
 
   public void merge() {
-    CompactionMergeTaskPoolManager.getInstance()
-        .submitTask(new CompactionAllPartitionTask(logicalStorageGroupName));
+    if (config.getCompactionStrategy() == CompactionStrategy.LEVEL_COMPACTION) 
{
+      CompactionMergeTaskPoolManager.getInstance()
+          .submitTask(new CompactionAllPartitionTask(logicalStorageGroupName));
+    }
   }
 
   /**
diff --git a/server/src/main/java/org/apache/iotdb/db/service/IoTDB.java 
b/server/src/main/java/org/apache/iotdb/db/service/IoTDB.java
index 65f6ea5..ecd836d 100644
--- a/server/src/main/java/org/apache/iotdb/db/service/IoTDB.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/IoTDB.java
@@ -26,6 +26,7 @@ import org.apache.iotdb.db.cost.statistic.Measurement;
 import org.apache.iotdb.db.engine.StorageEngine;
 import org.apache.iotdb.db.engine.cache.CacheHitRatioMonitor;
 import org.apache.iotdb.db.engine.compaction.CompactionMergeTaskPoolManager;
+import org.apache.iotdb.db.engine.compaction.CompactionStrategy;
 import org.apache.iotdb.db.engine.flush.FlushManager;
 import org.apache.iotdb.db.engine.merge.manage.MergeManager;
 import org.apache.iotdb.db.exception.StartupException;

Reply via email to