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;