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: 周沛辰 <[email protected]>
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);
     }

Reply via email to