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 f3dc12ff59 [IOTDB-2896] Fix warning of illegal cross compaction 
strategy (#5503)
f3dc12ff59 is described below

commit f3dc12ff5920c67294dd7184c027ce3b899c4f47
Author: Liu Xuxin <[email protected]>
AuthorDate: Wed Apr 13 10:25:30 2022 -0700

    [IOTDB-2896] Fix warning of illegal cross compaction strategy (#5503)
---
 .../resources/conf/iotdb-engine.properties         |  2 +-
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  |  6 +-
 .../db/engine/compaction/CompactionScheduler.java  | 18 +++---
 .../constant/CrossCompactionPerformer.java         |  2 +-
 .../constant/CrossCompactionSelector.java          | 32 ++--------
 .../constant/InnerSeqCompactionPerformer.java      |  2 +-
 .../constant/InnerSequenceCompactionSelector.java  |  8 +--
 .../constant/InnerUnseqCompactionPerformer.java    |  2 +-
 .../InnerUnsequenceCompactionSelector.java         |  6 +-
 .../compaction/cross/CrossSpaceCompactionTask.java |  9 +++
 .../compaction/inner/InnerSpaceCompactionTask.java | 13 +++-
 .../db/engine/compaction/log/TsFileIdentifier.java |  5 ++
 .../impl/ReadChunkCompactionPerformer.java         |  2 +-
 .../impl/ReadPointCompactionPerformer.java         |  4 +-
 .../compaction/task/AbstractCompactionTask.java    |  3 +
 .../compaction/cross/CrossSpaceCompactionTest.java | 73 ++++++++++++----------
 16 files changed, 97 insertions(+), 90 deletions(-)

diff --git a/server/src/assembly/resources/conf/iotdb-engine.properties 
b/server/src/assembly/resources/conf/iotdb-engine.properties
index d9bf4c6ddb..8a6673dd85 100644
--- a/server/src/assembly/resources/conf/iotdb-engine.properties
+++ b/server/src/assembly/resources/conf/iotdb-engine.properties
@@ -475,7 +475,7 @@ timestamp_precision=ms
 
 # the performer of inner unsequence space compaction task
 # Options: read_point
-# inner_seq_performer=read_point
+# inner_unseq_performer=read_point
 
 # The priority of compaction execution
 # INNER_CROSS: prioritize inner space compaction, reduce the number of files 
first
diff --git a/server/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java 
b/server/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java
index f8597bfb9c..5ed958b579 100644
--- a/server/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java
+++ b/server/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java
@@ -364,17 +364,17 @@ public class IoTDBDescriptor {
                   Boolean.toString(conf.isEnableUnseqSpaceCompaction()))));
 
       conf.setCrossCompactionSelector(
-          CrossCompactionSelector.getCrossCompactionStrategy(
+          CrossCompactionSelector.getCrossCompactionSelector(
               properties.getProperty(
                   "cross_selector", 
conf.getCrossCompactionSelector().toString())));
 
       conf.setInnerSequenceCompactionSelector(
-          InnerSequenceCompactionSelector.getInnerSequenceCompactionStrategy(
+          InnerSequenceCompactionSelector.getInnerSequenceCompactionSelector(
               properties.getProperty(
                   "inner_seq_selector", 
conf.getInnerSequenceCompactionSelector().toString())));
 
       conf.setInnerUnsequenceCompactionSelector(
-          
InnerUnsequenceCompactionSelector.getInnerUnsequenceCompactionStrategy(
+          
InnerUnsequenceCompactionSelector.getInnerUnsequenceCompactionSelector(
               properties.getProperty(
                   "inner_unseq_selector", 
conf.getInnerUnsequenceCompactionSelector().toString())));
 
diff --git 
a/server/src/main/java/org/apache/iotdb/db/engine/compaction/CompactionScheduler.java
 
b/server/src/main/java/org/apache/iotdb/db/engine/compaction/CompactionScheduler.java
index 02eca44554..91cd7a7d9f 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/engine/compaction/CompactionScheduler.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/engine/compaction/CompactionScheduler.java
@@ -59,7 +59,6 @@ public class CompactionScheduler {
       tryToSubmitCrossSpaceCompactionTask(
           tsFileManager.getStorageGroupName(),
           tsFileManager.getDataRegion(),
-          tsFileManager.getStorageGroupDir(),
           timePartition,
           tsFileManager);
       tryToSubmitInnerSpaceCompactionTask(
@@ -76,6 +75,7 @@ public class CompactionScheduler {
           false);
     } catch (InterruptedException e) {
       LOGGER.error("Exception occurs when selecting compaction tasks", e);
+      Thread.currentThread().interrupt();
     }
   }
 
@@ -96,14 +96,12 @@ public class CompactionScheduler {
       innerSpaceCompactionSelector =
           config
               .getInnerSequenceCompactionSelector()
-              .getCompactionSelector(
-                  logicalStorageGroupName, dataRegionId, timePartition, 
tsFileManager);
+              .createInstance(logicalStorageGroupName, dataRegionId, 
timePartition, tsFileManager);
     } else {
       innerSpaceCompactionSelector =
           config
               .getInnerUnsequenceCompactionSelector()
-              .getCompactionSelector(
-                  logicalStorageGroupName, dataRegionId, timePartition, 
tsFileManager);
+              .createInstance(logicalStorageGroupName, dataRegionId, 
timePartition, tsFileManager);
     }
     List<List<TsFileResource>> taskList =
         innerSpaceCompactionSelector.selectInnerSpaceTask(
@@ -116,11 +114,11 @@ public class CompactionScheduler {
               ? IoTDBDescriptor.getInstance()
                   .getConfig()
                   .getInnerSeqCompactionPerformer()
-                  .getCompactionPerformer()
+                  .createInstance()
               : IoTDBDescriptor.getInstance()
                   .getConfig()
                   .getInnerUnseqCompactionPerformer()
-                  .getCompactionPerformer();
+                  .createInstance();
       CompactionTaskManager.getInstance()
           .addTaskToWaitingQueue(
               new InnerSpaceCompactionTask(
@@ -136,7 +134,6 @@ public class CompactionScheduler {
   private static void tryToSubmitCrossSpaceCompactionTask(
       String logicalStorageGroupName,
       String dataRegionId,
-      String storageGroupDir,
       long timePartition,
       TsFileManager tsFileManager)
       throws InterruptedException {
@@ -146,8 +143,7 @@ public class CompactionScheduler {
     ICrossSpaceSelector crossSpaceCompactionSelector =
         config
             .getCrossCompactionSelector()
-            .getCompactionSelector(
-                logicalStorageGroupName, dataRegionId, timePartition, 
tsFileManager);
+            .createInstance(logicalStorageGroupName, dataRegionId, 
timePartition, tsFileManager);
     List<Pair<List<TsFileResource>, List<TsFileResource>>> taskList =
         crossSpaceCompactionSelector.selectCrossSpaceTask(
             tsFileManager.getSequenceListByTimePartition(timePartition),
@@ -163,7 +159,7 @@ public class CompactionScheduler {
                   IoTDBDescriptor.getInstance()
                       .getConfig()
                       .getCrossCompactionPerformer()
-                      .getCompactionPerformer(),
+                      .createInstance(),
                   CompactionTaskManager.currentTaskNum));
     }
   }
diff --git 
a/server/src/main/java/org/apache/iotdb/db/engine/compaction/constant/CrossCompactionPerformer.java
 
b/server/src/main/java/org/apache/iotdb/db/engine/compaction/constant/CrossCompactionPerformer.java
index 9dd13cc995..55c774bc37 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/engine/compaction/constant/CrossCompactionPerformer.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/engine/compaction/constant/CrossCompactionPerformer.java
@@ -31,7 +31,7 @@ public enum CrossCompactionPerformer {
     throw new RuntimeException("Illegal compaction performer for cross 
compaction " + name);
   }
 
-  public ICrossCompactionPerformer getCompactionPerformer() {
+  public ICrossCompactionPerformer createInstance() {
     switch (this) {
       case READ_POINT:
       default:
diff --git 
a/server/src/main/java/org/apache/iotdb/db/engine/compaction/constant/CrossCompactionSelector.java
 
b/server/src/main/java/org/apache/iotdb/db/engine/compaction/constant/CrossCompactionSelector.java
index caf0810530..6d3e72a670 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/engine/compaction/constant/CrossCompactionSelector.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/engine/compaction/constant/CrossCompactionSelector.java
@@ -18,45 +18,21 @@
  */
 package org.apache.iotdb.db.engine.compaction.constant;
 
-import org.apache.iotdb.db.engine.compaction.CompactionTaskManager;
-import org.apache.iotdb.db.engine.compaction.cross.CrossSpaceCompactionTask;
 import org.apache.iotdb.db.engine.compaction.cross.ICrossSpaceSelector;
 import 
org.apache.iotdb.db.engine.compaction.cross.rewrite.RewriteCrossSpaceCompactionSelector;
-import 
org.apache.iotdb.db.engine.compaction.performer.impl.ReadPointCompactionPerformer;
 import org.apache.iotdb.db.engine.storagegroup.TsFileManager;
-import org.apache.iotdb.db.engine.storagegroup.TsFileResource;
-
-import java.util.List;
 
 public enum CrossCompactionSelector {
   REWRITE;
 
-  public static CrossCompactionSelector getCrossCompactionStrategy(String 
name) {
-    if ("REWRITE_COMPACTION".equalsIgnoreCase(name)) {
+  public static CrossCompactionSelector getCrossCompactionSelector(String 
name) {
+    if (REWRITE.toString().equalsIgnoreCase(name)) {
       return REWRITE;
     }
-    throw new RuntimeException("Illegal Cross Compaction Strategy " + name);
-  }
-
-  public CrossSpaceCompactionTask getCompactionTask(
-      long timePartitionId,
-      TsFileManager tsFileManager,
-      List<TsFileResource> selectedSeqTsFileResourceList,
-      List<TsFileResource> selectedUnSeqTsFileResourceList) {
-    switch (this) {
-      case REWRITE:
-      default:
-        return new CrossSpaceCompactionTask(
-            timePartitionId,
-            tsFileManager,
-            selectedSeqTsFileResourceList,
-            selectedUnSeqTsFileResourceList,
-            new ReadPointCompactionPerformer(),
-            CompactionTaskManager.currentTaskNum);
-    }
+    throw new RuntimeException("Illegal Cross Compaction Selector " + name);
   }
 
-  public ICrossSpaceSelector getCompactionSelector(
+  public ICrossSpaceSelector createInstance(
       String logicalStorageGroupName,
       String virtualGroupId,
       long timePartition,
diff --git 
a/server/src/main/java/org/apache/iotdb/db/engine/compaction/constant/InnerSeqCompactionPerformer.java
 
b/server/src/main/java/org/apache/iotdb/db/engine/compaction/constant/InnerSeqCompactionPerformer.java
index 57a7319782..81778d72b3 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/engine/compaction/constant/InnerSeqCompactionPerformer.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/engine/compaction/constant/InnerSeqCompactionPerformer.java
@@ -31,7 +31,7 @@ public enum InnerSeqCompactionPerformer {
     throw new RuntimeException("Illegal compaction performer for seq inner 
compaction " + name);
   }
 
-  public ISeqCompactionPerformer getCompactionPerformer() {
+  public ISeqCompactionPerformer createInstance() {
     switch (this) {
       case READ_CHUNK:
       default:
diff --git 
a/server/src/main/java/org/apache/iotdb/db/engine/compaction/constant/InnerSequenceCompactionSelector.java
 
b/server/src/main/java/org/apache/iotdb/db/engine/compaction/constant/InnerSequenceCompactionSelector.java
index f9fe30aaf6..0ab9885fc5 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/engine/compaction/constant/InnerSequenceCompactionSelector.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/engine/compaction/constant/InnerSequenceCompactionSelector.java
@@ -26,14 +26,14 @@ import 
org.apache.iotdb.db.engine.storagegroup.TsFileManager;
 public enum InnerSequenceCompactionSelector {
   SIZE_TIERED;
 
-  public static InnerSequenceCompactionSelector 
getInnerSequenceCompactionStrategy(String name) {
-    if ("SIZE_TIERED_COMPACTION".equalsIgnoreCase(name)) {
+  public static InnerSequenceCompactionSelector 
getInnerSequenceCompactionSelector(String name) {
+    if (SIZE_TIERED.toString().equalsIgnoreCase(name)) {
       return SIZE_TIERED;
     }
-    throw new RuntimeException("Illegal Compaction Strategy " + name);
+    throw new RuntimeException("Illegal Compaction Selector " + name);
   }
 
-  public IInnerSeqSpaceSelector getCompactionSelector(
+  public IInnerSeqSpaceSelector createInstance(
       String logicalStorageGroupName,
       String virtualStorageGroupName,
       long timePartition,
diff --git 
a/server/src/main/java/org/apache/iotdb/db/engine/compaction/constant/InnerUnseqCompactionPerformer.java
 
b/server/src/main/java/org/apache/iotdb/db/engine/compaction/constant/InnerUnseqCompactionPerformer.java
index 75ef19ff9f..cfb699e7a4 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/engine/compaction/constant/InnerUnseqCompactionPerformer.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/engine/compaction/constant/InnerUnseqCompactionPerformer.java
@@ -31,7 +31,7 @@ public enum InnerUnseqCompactionPerformer {
     throw new RuntimeException("Illegal compaction performer for unseq inner 
compaction " + name);
   }
 
-  public IUnseqCompactionPerformer getCompactionPerformer() {
+  public IUnseqCompactionPerformer createInstance() {
     switch (this) {
       case READ_POINT:
       default:
diff --git 
a/server/src/main/java/org/apache/iotdb/db/engine/compaction/constant/InnerUnsequenceCompactionSelector.java
 
b/server/src/main/java/org/apache/iotdb/db/engine/compaction/constant/InnerUnsequenceCompactionSelector.java
index f325a9b19a..a1ec453317 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/engine/compaction/constant/InnerUnsequenceCompactionSelector.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/engine/compaction/constant/InnerUnsequenceCompactionSelector.java
@@ -25,15 +25,15 @@ import 
org.apache.iotdb.db.engine.storagegroup.TsFileManager;
 public enum InnerUnsequenceCompactionSelector {
   SIZE_TIERED;
 
-  public static InnerUnsequenceCompactionSelector 
getInnerUnsequenceCompactionStrategy(
+  public static InnerUnsequenceCompactionSelector 
getInnerUnsequenceCompactionSelector(
       String name) {
     if (SIZE_TIERED.toString().equalsIgnoreCase(name)) {
       return SIZE_TIERED;
     }
-    throw new RuntimeException("Illegal Compaction Strategy " + name);
+    throw new RuntimeException("Illegal Compaction Selector " + name);
   }
 
-  public IInnerUnseqSpaceSelector getCompactionSelector(
+  public IInnerUnseqSpaceSelector createInstance(
       String logicalStorageGroupName,
       String virtualStorageGroupName,
       long timePartition,
diff --git 
a/server/src/main/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionTask.java
 
b/server/src/main/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionTask.java
index c4e1866f3e..8f45039fb4 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionTask.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionTask.java
@@ -225,6 +225,15 @@ public class CrossSpaceCompactionTask extends 
AbstractCompactionTask {
     return toString().hashCode();
   }
 
+  @Override
+  public boolean equals(Object other) {
+    if (!(other instanceof CrossSpaceCompactionTask)) {
+      return false;
+    }
+
+    return equalsOtherTask((CrossSpaceCompactionTask) other);
+  }
+
   @Override
   public void resetCompactionCandidateStatusForAllSourceFiles() {
     selectedSequenceFiles.forEach(x -> 
x.setStatus(TsFileResourceStatus.CLOSED));
diff --git 
a/server/src/main/java/org/apache/iotdb/db/engine/compaction/inner/InnerSpaceCompactionTask.java
 
b/server/src/main/java/org/apache/iotdb/db/engine/compaction/inner/InnerSpaceCompactionTask.java
index a42ea6d2a1..a7b5acaaa3 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/engine/compaction/inner/InnerSpaceCompactionTask.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/engine/compaction/inner/InnerSpaceCompactionTask.java
@@ -197,8 +197,11 @@ public class InnerSpaceCompactionTask extends 
AbstractCompactionTask {
       LOGGER.error(
           "{} [Compaction] Throwable is caught during execution of 
SizeTieredCompaction, {}",
           fullStorageGroupName,
-          throwable);
+          throwable.getMessage());
       LOGGER.warn("{} [Compaction] Start to handle exception", 
fullStorageGroupName);
+      if (throwable instanceof InterruptedException) {
+        Thread.currentThread().interrupt();
+      }
       if (compactionLogger != null) {
         compactionLogger.close();
       }
@@ -318,6 +321,14 @@ public class InnerSpaceCompactionTask extends 
AbstractCompactionTask {
     return toString().hashCode();
   }
 
+  @Override
+  public boolean equals(Object other) {
+    if (!(other instanceof InnerSpaceCompactionTask)) {
+      return false;
+    }
+    return equalsOtherTask((InnerSpaceCompactionTask) other);
+  }
+
   @Override
   public void resetCompactionCandidateStatusForAllSourceFiles() {
     selectedTsFileResourceList.forEach(x -> 
x.setStatus(TsFileResourceStatus.CLOSED));
diff --git 
a/server/src/main/java/org/apache/iotdb/db/engine/compaction/log/TsFileIdentifier.java
 
b/server/src/main/java/org/apache/iotdb/db/engine/compaction/log/TsFileIdentifier.java
index 2e3ccaf039..fa8f621516 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/engine/compaction/log/TsFileIdentifier.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/engine/compaction/log/TsFileIdentifier.java
@@ -170,6 +170,11 @@ public class TsFileIdentifier {
         && otherInfo.filename.equals(this.filename);
   }
 
+  @Override
+  public int hashCode() {
+    return this.toString().hashCode();
+  }
+
   /**
    * This method find the File object of current file by searching it in every 
data directory. If
    * the file is not found, it will return null.
diff --git 
a/server/src/main/java/org/apache/iotdb/db/engine/compaction/performer/impl/ReadChunkCompactionPerformer.java
 
b/server/src/main/java/org/apache/iotdb/db/engine/compaction/performer/impl/ReadChunkCompactionPerformer.java
index 28cfa86963..71f2c428d0 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/engine/compaction/performer/impl/ReadChunkCompactionPerformer.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/engine/compaction/performer/impl/ReadChunkCompactionPerformer.java
@@ -116,7 +116,7 @@ public class ReadChunkCompactionPerformer implements 
ISeqCompactionPerformer {
   }
 
   private void checkThreadInterrupted() throws InterruptedException {
-    if (Thread.currentThread().isInterrupted()) {
+    if (Thread.interrupted()) {
       throw new InterruptedException(
           String.format(
               "[Compaction] compaction for target file %s abort", 
targetResource.toString()));
diff --git 
a/server/src/main/java/org/apache/iotdb/db/engine/compaction/performer/impl/ReadPointCompactionPerformer.java
 
b/server/src/main/java/org/apache/iotdb/db/engine/compaction/performer/impl/ReadPointCompactionPerformer.java
index 6ddf8b0688..43a121eff7 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/engine/compaction/performer/impl/ReadPointCompactionPerformer.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/engine/compaction/performer/impl/ReadPointCompactionPerformer.java
@@ -231,7 +231,7 @@ public class ReadPointCompactionPerformer
         futures.get(i).get();
       } catch (InterruptedException | ExecutionException e) {
         LOGGER.error("SubCompactionTask meet errors ", e);
-        Thread.interrupted();
+        Thread.currentThread().interrupt();
         throw new InterruptedException();
       }
     }
@@ -340,7 +340,7 @@ public class ReadPointCompactionPerformer
   }
 
   private void checkThreadInterrupted() throws InterruptedException {
-    if (Thread.currentThread().isInterrupted()) {
+    if (Thread.interrupted()) {
       throw new InterruptedException(
           String.format(
               "[Compaction] compaction for target file %s abort", 
targetFiles.toString()));
diff --git 
a/server/src/main/java/org/apache/iotdb/db/engine/compaction/task/AbstractCompactionTask.java
 
b/server/src/main/java/org/apache/iotdb/db/engine/compaction/task/AbstractCompactionTask.java
index 2cc19c6e54..3fbf180eb2 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/engine/compaction/task/AbstractCompactionTask.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/engine/compaction/task/AbstractCompactionTask.java
@@ -70,6 +70,9 @@ public abstract class AbstractCompactionTask implements 
Callable<Void> {
     currentTaskNum.incrementAndGet();
     try {
       doCompaction();
+    } catch (InterruptedException e) {
+      LOGGER.warn("Current task is interrupted");
+      Thread.interrupted();
     } catch (Exception e) {
       LOGGER.error(e.getMessage(), e);
     } finally {
diff --git 
a/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionTest.java
 
b/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionTest.java
index 7dae07dfcd..a77efcc2e2 100644
--- 
a/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionTest.java
+++ 
b/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionTest.java
@@ -62,6 +62,7 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import java.util.concurrent.atomic.AtomicInteger;
 
 import static org.junit.Assert.fail;
 
@@ -429,17 +430,19 @@ public class CrossSpaceCompactionTest {
           index++;
           if (mergeFiles.length > 0) {
             AbstractCompactionTask compactionTask =
-                IoTDBDescriptor.getInstance()
-                    .getConfig()
-                    .getCrossCompactionSelector()
-                    .getCompactionTask(
-                        0,
-                        new TsFileManager(
-                            "root.compactionTest",
-                            "0",
-                            
"target\\data\\sequence\\test\\root.compactionTest\\0\\0\\"),
-                        mergeResource.getSeqFiles(),
-                        mergeResource.getUnseqFiles());
+                new CrossSpaceCompactionTask(
+                    0,
+                    new TsFileManager(
+                        "root.compactionTest",
+                        "0",
+                        
"target\\data\\sequence\\test\\root.compactionTest\\0\\0\\"),
+                    mergeResource.getSeqFiles(),
+                    mergeResource.getUnseqFiles(),
+                    IoTDBDescriptor.getInstance()
+                        .getConfig()
+                        .getCrossCompactionPerformer()
+                        .createInstance(),
+                    new AtomicInteger(0));
             compactionTask.call();
             List<TsFileResource> targetTsfileResourceList = new ArrayList<>();
             for (TsFileResource seqResource : seqResources) {
@@ -732,17 +735,19 @@ public class CrossSpaceCompactionTest {
           mergeResource.clear();
           if (mergeFiles.length > 0) {
             AbstractCompactionTask compactionTask =
-                IoTDBDescriptor.getInstance()
-                    .getConfig()
-                    .getCrossCompactionSelector()
-                    .getCompactionTask(
-                        0,
-                        new TsFileManager(
-                            "root.compactionTest",
-                            "0",
-                            
"target\\data\\sequence\\test\\root.compactionTest\\0\\0\\"),
-                        mergeResource.getSeqFiles(),
-                        mergeResource.getUnseqFiles());
+                new CrossSpaceCompactionTask(
+                    0,
+                    new TsFileManager(
+                        "root.compactionTest",
+                        "0",
+                        
"target\\data\\sequence\\test\\root.compactionTest\\0\\0\\"),
+                    mergeResource.getSeqFiles(),
+                    mergeResource.getUnseqFiles(),
+                    IoTDBDescriptor.getInstance()
+                        .getConfig()
+                        .getCrossCompactionPerformer()
+                        .createInstance(),
+                    new AtomicInteger(0));
             compactionTask.call();
             List<TsFileResource> targetTsfileResourceList = new ArrayList<>();
             for (TsFileResource seqResource : seqResources.subList(1, 4)) {
@@ -1034,17 +1039,19 @@ public class CrossSpaceCompactionTest {
           mergeResource.clear();
           if (mergeFiles.length > 0) {
             AbstractCompactionTask compactionTask =
-                IoTDBDescriptor.getInstance()
-                    .getConfig()
-                    .getCrossCompactionSelector()
-                    .getCompactionTask(
-                        0,
-                        new TsFileManager(
-                            "root.compactionTest",
-                            "0",
-                            
"target\\data\\sequence\\test\\root.compactionTest\\0\\0\\"),
-                        mergeResource.getSeqFiles(),
-                        mergeResource.getUnseqFiles());
+                new CrossSpaceCompactionTask(
+                    0,
+                    new TsFileManager(
+                        "root.compactionTest",
+                        "0",
+                        
"target\\data\\sequence\\test\\root.compactionTest\\0\\0\\"),
+                    mergeResource.getSeqFiles(),
+                    mergeResource.getUnseqFiles(),
+                    IoTDBDescriptor.getInstance()
+                        .getConfig()
+                        .getCrossCompactionPerformer()
+                        .createInstance(),
+                    new AtomicInteger(0));
             compactionTask.call();
             List<TsFileResource> targetTsfileResourceList = new ArrayList<>();
             for (TsFileResource seqResource : seqResources.subList(1, 4)) {

Reply via email to