You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by qi...@apache.org on 2022/01/17 15:45:50 UTC

[iotdb] branch master updated: [IOTDB-2417]Cross compaction selector bug (#4853)

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

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


The following commit(s) were added to refs/heads/master by this push:
     new 16349e9  [IOTDB-2417]Cross compaction selector bug (#4853)
16349e9 is described below

commit 16349e9ae3fcef072e611a20088cba6e76b72125
Author: 周沛辰 <45...@users.noreply.github.com>
AuthorDate: Mon Jan 17 23:45:07 2022 +0800

    [IOTDB-2417]Cross compaction selector bug (#4853)
---
 .../cross/inplace/InplaceCompactionSelector.java   | 41 ++++++++++++----------
 1 file changed, 22 insertions(+), 19 deletions(-)

diff --git a/server/src/main/java/org/apache/iotdb/db/engine/compaction/cross/inplace/InplaceCompactionSelector.java b/server/src/main/java/org/apache/iotdb/db/engine/compaction/cross/inplace/InplaceCompactionSelector.java
index 6190fb4..691f134 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/compaction/cross/inplace/InplaceCompactionSelector.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/compaction/cross/inplace/InplaceCompactionSelector.java
@@ -132,25 +132,28 @@ public class InplaceCompactionSelector extends AbstractCrossSpaceCompactionSelec
       // cached during selection
       mergeResource.setCacheDeviceMeta(true);
 
-      AbstractCompactionTask compactionTask =
-          taskFactory.createTask(
-              logicalStorageGroupName,
-              virtualGroupId,
-              timePartition,
-              mergeResource,
-              storageGroupDir,
-              sequenceFileList,
-              unsequenceFileList,
-              mergeFiles[0],
-              mergeFiles[1],
-              fileSelector.getConcurrentMergeNum());
-      CompactionTaskManager.getInstance().addTaskToWaitingQueue(compactionTask);
-      taskSubmitted = true;
-      LOGGER.info(
-          "{} [Compaction] submit a task with {} sequence file and {} unseq files",
-          logicalStorageGroupName + "-" + virtualGroupId,
-          mergeResource.getSeqFiles().size(),
-          mergeResource.getUnseqFiles().size());
+      if (mergeFiles[0].size() > 0 && mergeFiles[1].size() > 0) {
+        AbstractCompactionTask compactionTask =
+            taskFactory.createTask(
+                logicalStorageGroupName,
+                virtualGroupId,
+                timePartition,
+                mergeResource,
+                storageGroupDir,
+                sequenceFileList,
+                unsequenceFileList,
+                mergeFiles[0],
+                mergeFiles[1],
+                fileSelector.getConcurrentMergeNum());
+        CompactionTaskManager.getInstance().addTaskToWaitingQueue(compactionTask);
+        taskSubmitted = true;
+        LOGGER.info(
+            "{} [Compaction] submit a task with {} sequence file and {} unseq files",
+            logicalStorageGroupName + "-" + virtualGroupId,
+            mergeResource.getSeqFiles().size(),
+            mergeResource.getUnseqFiles().size());
+      }
+
     } catch (MergeException | IOException e) {
       LOGGER.error("{} cannot select file for cross space compaction", logicalStorageGroupName, e);
     }