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

jiangtian pushed a commit to branch rc/1.3.3
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/rc/1.3.3 by this push:
     new 0a37cd2cb40 [to rc/1.3.3] Fix flush chunk check in read chunk 
compaction (#13539)
0a37cd2cb40 is described below

commit 0a37cd2cb40e069d7583b1425d9830c662133661
Author: shuwenwei <[email protected]>
AuthorDate: Wed Sep 25 14:07:18 2024 +0800

    [to rc/1.3.3] Fix flush chunk check in read chunk compaction (#13539)
    
    * fix flush chunk check in read chunk compaction
    
    * fix flush chunk check in read chunk compaction
    
    * set hasDetailedDeviceInfo to true after getting device info from cache
    
    * add context in cross space compaction task selection
    
    * fix ut
    
    * spotless
---
 .../ReadChunkAlignedSeriesCompactionExecutor.java  |   6 +-
 .../compaction/schedule/CompactionScheduler.java   |   3 +-
 .../selector/constant/CrossCompactionSelector.java |   6 +-
 .../impl/RewriteCrossSpaceCompactionSelector.java  |  15 +--
 .../selector/utils/TsFileResourceCandidate.java    |   1 +
 .../CrossSpaceCompactionWithUnusualCasesTest.java  |  37 ++++---
 .../cross/CrossSpaceCompactionSelectorTest.java    |  63 +++++++-----
 .../CrossSpaceCompactionWithFastPerformerTest.java |  10 +-
 ...eCompactionWithFastPerformerValidationTest.java | 112 ++++++++++++---------
 ...sSpaceCompactionWithReadPointPerformerTest.java |  10 +-
 ...actionWithReadPointPerformerValidationTest.java | 106 ++++++++++---------
 .../InsertionCrossSpaceCompactionRecoverTest.java  |  13 ++-
 .../InsertionCrossSpaceCompactionSelectorTest.java | 105 ++++++++++++-------
 .../cross/InsertionCrossSpaceCompactionTest.java   |  15 ++-
 .../compaction/cross/MergeUpgradeTest.java         |   4 +-
 .../cross/RewriteCompactionFileSelectorTest.java   |  42 ++++----
 16 files changed, 327 insertions(+), 221 deletions(-)

diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/utils/executor/readchunk/ReadChunkAlignedSeriesCompactionExecutor.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/utils/executor/readchunk/ReadChunkAlignedSeriesCompactionExecutor.java
index e0d8785ab32..38186b5c704 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/utils/executor/readchunk/ReadChunkAlignedSeriesCompactionExecutor.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/utils/executor/readchunk/ReadChunkAlignedSeriesCompactionExecutor.java
@@ -457,8 +457,8 @@ public class ReadChunkAlignedSeriesCompactionExecutor {
     private boolean canFlushChunk(ChunkLoader timeChunk, List<ChunkLoader> 
valueChunks)
         throws IOException {
       boolean largeEnough =
-          timeChunk.getHeader().getDataSize() > targetChunkSize
-              || timeChunk.getChunkMetadata().getNumOfPoints() > 
targetChunkPointNum;
+          timeChunk.getHeader().getDataSize() >= targetChunkSize
+              || timeChunk.getChunkMetadata().getNumOfPoints() >= 
targetChunkPointNum;
       if (timeSchema.getEncodingType() != 
timeChunk.getHeader().getEncodingType()
           || timeSchema.getCompressor() != 
timeChunk.getHeader().getCompressionType()) {
         return false;
@@ -476,7 +476,7 @@ public class ReadChunkAlignedSeriesCompactionExecutor {
         if (valueChunk.getModifiedStatus() == ModifiedStatus.PARTIAL_DELETED) {
           return false;
         }
-        if (valueChunk.getHeader().getDataSize() > targetChunkSize) {
+        if (valueChunk.getHeader().getDataSize() >= targetChunkSize) {
           largeEnough = true;
         }
       }
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/schedule/CompactionScheduler.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/schedule/CompactionScheduler.java
index 589ea57c6c3..100f1cb4bc1 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/schedule/CompactionScheduler.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/schedule/CompactionScheduler.java
@@ -277,7 +277,8 @@ public class CompactionScheduler {
     ICrossSpaceSelector crossSpaceCompactionSelector =
         config
             .getCrossCompactionSelector()
-            .createInstance(logicalStorageGroupName, dataRegionId, 
timePartition, tsFileManager);
+            .createInstance(
+                logicalStorageGroupName, dataRegionId, timePartition, 
tsFileManager, context);
 
     List<CrossCompactionTaskResource> taskList =
         crossSpaceCompactionSelector.selectCrossSpaceTask(
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/selector/constant/CrossCompactionSelector.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/selector/constant/CrossCompactionSelector.java
index 061b8e882d1..dc0b019dd47 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/selector/constant/CrossCompactionSelector.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/selector/constant/CrossCompactionSelector.java
@@ -19,6 +19,7 @@
 
 package 
org.apache.iotdb.db.storageengine.dataregion.compaction.selector.constant;
 
+import 
org.apache.iotdb.db.storageengine.dataregion.compaction.schedule.CompactionScheduleContext;
 import 
org.apache.iotdb.db.storageengine.dataregion.compaction.selector.ICrossSpaceSelector;
 import 
org.apache.iotdb.db.storageengine.dataregion.compaction.selector.impl.RewriteCrossSpaceCompactionSelector;
 import org.apache.iotdb.db.storageengine.dataregion.tsfile.TsFileManager;
@@ -39,12 +40,13 @@ public enum CrossCompactionSelector {
       String logicalStorageGroupName,
       String virtualGroupId,
       long timePartition,
-      TsFileManager tsFileManager) {
+      TsFileManager tsFileManager,
+      CompactionScheduleContext context) {
     switch (this) {
       case REWRITE:
       default:
         return new RewriteCrossSpaceCompactionSelector(
-            logicalStorageGroupName, virtualGroupId, timePartition, 
tsFileManager);
+            logicalStorageGroupName, virtualGroupId, timePartition, 
tsFileManager, context);
     }
   }
 }
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/selector/impl/RewriteCrossSpaceCompactionSelector.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/selector/impl/RewriteCrossSpaceCompactionSelector.java
index dc1b541158f..1f50721feca 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/selector/impl/RewriteCrossSpaceCompactionSelector.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/selector/impl/RewriteCrossSpaceCompactionSelector.java
@@ -73,13 +73,14 @@ public class RewriteCrossSpaceCompactionSelector implements 
ICrossSpaceSelector
   private final long maxCrossCompactionFileSize;
 
   private final AbstractCrossSpaceEstimator compactionEstimator;
-  private CompactionScheduleContext context;
+  private final CompactionScheduleContext context;
 
   public RewriteCrossSpaceCompactionSelector(
       String logicalStorageGroupName,
       String dataRegionId,
       long timePartition,
-      TsFileManager tsFileManager) {
+      TsFileManager tsFileManager,
+      CompactionScheduleContext context) {
     this.logicalStorageGroupName = logicalStorageGroupName;
     this.dataRegionId = dataRegionId;
     this.timePartition = timePartition;
@@ -98,16 +99,6 @@ public class RewriteCrossSpaceCompactionSelector implements 
ICrossSpaceSelector
         (AbstractCrossSpaceEstimator)
             ICompactionSelector.getCompactionEstimator(
                 
IoTDBDescriptor.getInstance().getConfig().getCrossCompactionPerformer(), false);
-    this.context = null;
-  }
-
-  public RewriteCrossSpaceCompactionSelector(
-      String logicalStorageGroupName,
-      String dataRegionId,
-      long timePartition,
-      TsFileManager tsFileManager,
-      CompactionScheduleContext context) {
-    this(logicalStorageGroupName, dataRegionId, timePartition, tsFileManager);
     this.context = context;
   }
 
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/selector/utils/TsFileResourceCandidate.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/selector/utils/TsFileResourceCandidate.java
index f46ca053a79..4f97c38009d 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/selector/utils/TsFileResourceCandidate.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/selector/utils/TsFileResourceCandidate.java
@@ -76,6 +76,7 @@ public class TsFileResourceCandidate {
     if (deviceInfoMap == null && compactionScheduleContext != null) {
       // get device info from cache
       deviceInfoMap = 
compactionScheduleContext.getResourceDeviceInfo(this.resource);
+      hasDetailedDeviceInfo = true;
     }
     if (deviceInfoMap != null) {
       return;
diff --git 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/CrossSpaceCompactionWithUnusualCasesTest.java
 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/CrossSpaceCompactionWithUnusualCasesTest.java
index 3006d030b5a..0965239ae33 100644
--- 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/CrossSpaceCompactionWithUnusualCasesTest.java
+++ 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/CrossSpaceCompactionWithUnusualCasesTest.java
@@ -25,6 +25,7 @@ import org.apache.iotdb.commons.path.MeasurementPath;
 import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.db.conf.IoTDBDescriptor;
 import org.apache.iotdb.db.exception.StorageEngineException;
+import 
org.apache.iotdb.db.storageengine.dataregion.compaction.schedule.CompactionScheduleContext;
 import 
org.apache.iotdb.db.storageengine.dataregion.compaction.selector.impl.RewriteCrossSpaceCompactionSelector;
 import 
org.apache.iotdb.db.storageengine.dataregion.compaction.selector.utils.CrossCompactionTaskResource;
 import 
org.apache.iotdb.db.storageengine.dataregion.compaction.utils.TsFileGeneratorUtils;
@@ -114,7 +115,8 @@ public class CrossSpaceCompactionWithUnusualCasesTest 
extends AbstractCompaction
     tsFileManager.addAll(seqResources, true);
     tsFileManager.addAll(unseqResources, false);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector(COMPACTION_TEST_SG, "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            COMPACTION_TEST_SG, "0", 0, tsFileManager, new 
CompactionScheduleContext());
 
     List<CrossCompactionTaskResource> result =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
@@ -170,7 +172,8 @@ public class CrossSpaceCompactionWithUnusualCasesTest 
extends AbstractCompaction
     tsFileManager.addAll(seqResources, true);
     tsFileManager.addAll(unseqResources, false);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector(COMPACTION_TEST_SG, "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            COMPACTION_TEST_SG, "0", 0, tsFileManager, new 
CompactionScheduleContext());
 
     List<CrossCompactionTaskResource> result =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
@@ -238,7 +241,8 @@ public class CrossSpaceCompactionWithUnusualCasesTest 
extends AbstractCompaction
     tsFileManager.addAll(seqResources, true);
     tsFileManager.addAll(unseqResources, false);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector(COMPACTION_TEST_SG, "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            COMPACTION_TEST_SG, "0", 0, tsFileManager, new 
CompactionScheduleContext());
 
     List<CrossCompactionTaskResource> result =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
@@ -317,7 +321,8 @@ public class CrossSpaceCompactionWithUnusualCasesTest 
extends AbstractCompaction
     tsFileManager.addAll(seqResources, true);
     tsFileManager.addAll(unseqResources, false);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector(COMPACTION_TEST_SG, "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            COMPACTION_TEST_SG, "0", 0, tsFileManager, new 
CompactionScheduleContext());
 
     List<CrossCompactionTaskResource> result =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
@@ -400,7 +405,8 @@ public class CrossSpaceCompactionWithUnusualCasesTest 
extends AbstractCompaction
     tsFileManager.addAll(seqResources, true);
     tsFileManager.addAll(unseqResources, false);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector(COMPACTION_TEST_SG, "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            COMPACTION_TEST_SG, "0", 0, tsFileManager, new 
CompactionScheduleContext());
 
     List<CrossCompactionTaskResource> result =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
@@ -448,7 +454,8 @@ public class CrossSpaceCompactionWithUnusualCasesTest 
extends AbstractCompaction
     tsFileManager.addAll(seqResources, true);
     tsFileManager.addAll(unseqResources, false);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector(COMPACTION_TEST_SG, "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            COMPACTION_TEST_SG, "0", 0, tsFileManager, new 
CompactionScheduleContext());
 
     List<CrossCompactionTaskResource> result =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
@@ -534,7 +541,8 @@ public class CrossSpaceCompactionWithUnusualCasesTest 
extends AbstractCompaction
     tsFileManager.addAll(seqResources, true);
     tsFileManager.addAll(unseqResources, false);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector(COMPACTION_TEST_SG, "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            COMPACTION_TEST_SG, "0", 0, tsFileManager, new 
CompactionScheduleContext());
 
     List<CrossCompactionTaskResource> result =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
@@ -583,7 +591,8 @@ public class CrossSpaceCompactionWithUnusualCasesTest 
extends AbstractCompaction
     tsFileManager.addAll(seqResources, true);
     tsFileManager.addAll(unseqResources, false);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector(COMPACTION_TEST_SG, "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            COMPACTION_TEST_SG, "0", 0, tsFileManager, new 
CompactionScheduleContext());
 
     List<CrossCompactionTaskResource> result =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
@@ -638,7 +647,8 @@ public class CrossSpaceCompactionWithUnusualCasesTest 
extends AbstractCompaction
     tsFileManager.addAll(seqResources, true);
     tsFileManager.addAll(unseqResources, false);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector(COMPACTION_TEST_SG, "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            COMPACTION_TEST_SG, "0", 0, tsFileManager, new 
CompactionScheduleContext());
 
     List<CrossCompactionTaskResource> result =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
@@ -696,7 +706,8 @@ public class CrossSpaceCompactionWithUnusualCasesTest 
extends AbstractCompaction
     tsFileManager.addAll(seqResources, true);
     tsFileManager.addAll(unseqResources, false);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector(COMPACTION_TEST_SG, "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            COMPACTION_TEST_SG, "0", 0, tsFileManager, new 
CompactionScheduleContext());
 
     List<CrossCompactionTaskResource> result =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
@@ -763,7 +774,8 @@ public class CrossSpaceCompactionWithUnusualCasesTest 
extends AbstractCompaction
     tsFileManager.addAll(seqResources, true);
     tsFileManager.addAll(unseqResources, false);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector(COMPACTION_TEST_SG, "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            COMPACTION_TEST_SG, "0", 0, tsFileManager, new 
CompactionScheduleContext());
 
     List<CrossCompactionTaskResource> result =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
@@ -823,7 +835,8 @@ public class CrossSpaceCompactionWithUnusualCasesTest 
extends AbstractCompaction
     tsFileManager.addAll(seqResources, true);
     tsFileManager.addAll(unseqResources, false);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector(COMPACTION_TEST_SG, "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            COMPACTION_TEST_SG, "0", 0, tsFileManager, new 
CompactionScheduleContext());
 
     List<CrossCompactionTaskResource> result =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
diff --git 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/cross/CrossSpaceCompactionSelectorTest.java
 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/cross/CrossSpaceCompactionSelectorTest.java
index 8b43043d968..894de73da95 100644
--- 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/cross/CrossSpaceCompactionSelectorTest.java
+++ 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/cross/CrossSpaceCompactionSelectorTest.java
@@ -25,6 +25,7 @@ import 
org.apache.iotdb.db.storageengine.dataregion.compaction.AbstractCompactio
 import 
org.apache.iotdb.db.storageengine.dataregion.compaction.execute.exception.FileCannotTransitToCompactingException;
 import 
org.apache.iotdb.db.storageengine.dataregion.compaction.execute.task.AbstractCompactionTask;
 import 
org.apache.iotdb.db.storageengine.dataregion.compaction.execute.task.CrossSpaceCompactionTask;
+import 
org.apache.iotdb.db.storageengine.dataregion.compaction.schedule.CompactionScheduleContext;
 import 
org.apache.iotdb.db.storageengine.dataregion.compaction.schedule.CompactionTaskQueue;
 import 
org.apache.iotdb.db.storageengine.dataregion.compaction.schedule.comparator.DefaultCompactionTaskComparatorImpl;
 import 
org.apache.iotdb.db.storageengine.dataregion.compaction.selector.impl.RewriteCrossSpaceCompactionSelector;
@@ -74,7 +75,7 @@ public class CrossSpaceCompactionSelectorTest extends 
AbstractCompactionTest {
       throws IOException, MetadataException, WriteProcessException {
     createFiles(5, 2, 3, 50, 0, 10000, 50, 50, false, false);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
     Assert.assertEquals(0, selected.size());
@@ -87,7 +88,7 @@ public class CrossSpaceCompactionSelectorTest extends 
AbstractCompactionTest {
     createFiles(5, 2, 3, 50, 0, 10000, 50, 50, false, false);
     seqResources.get(0).setStatusForTest(TsFileResourceStatus.UNCLOSED);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
     Assert.assertEquals(0, selected.size());
@@ -99,7 +100,7 @@ public class CrossSpaceCompactionSelectorTest extends 
AbstractCompactionTest {
     createFiles(1, 2, 3, 50, 0, 10000, 50, 50, false, true);
     createFiles(5, 2, 3, 50, 0, 10000, 50, 50, false, false);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
     Assert.assertEquals(1, selected.size());
@@ -120,7 +121,7 @@ public class CrossSpaceCompactionSelectorTest extends 
AbstractCompactionTest {
     createFiles(5, 2, 3, 50, 0, 10000, 50, 50, false, false);
     seqResources.get(1).setStatusForTest(TsFileResourceStatus.UNCLOSED);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
     Assert.assertEquals(1, selected.size());
@@ -155,7 +156,7 @@ public class CrossSpaceCompactionSelectorTest extends 
AbstractCompactionTest {
     createFiles(1, 2, 3, 50, 0, 10000, 50, 50, false, false);
     createFiles(1, 2, 3, 50, 0, 10000, 50, 50, false, false);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
     Assert.assertEquals(1, selected.size());
@@ -169,7 +170,7 @@ public class CrossSpaceCompactionSelectorTest extends 
AbstractCompactionTest {
     createFiles(2, 2, 3, 50, 0, 10000, 50, 50, false, true);
     createFiles(5, 2, 3, 50, 0, 10000, 50, 50, false, false);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
     Assert.assertEquals(1, selected.size());
@@ -196,7 +197,7 @@ public class CrossSpaceCompactionSelectorTest extends 
AbstractCompactionTest {
       createFiles(19, 2, 3, 50, 0, 10000, 50, 50, false, true);
       createFiles(1, 2, 3, 3000, 0, 10000, 50, 50, false, false);
       RewriteCrossSpaceCompactionSelector selector =
-          new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+          new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
       List<CrossCompactionTaskResource> selected =
           selector.selectCrossSpaceTask(seqResources, unseqResources);
       Assert.assertEquals(1, selected.size());
@@ -266,7 +267,8 @@ public class CrossSpaceCompactionSelectorTest extends 
AbstractCompactionTest {
                 cd1.countDown();
                 cd2.await();
                 RewriteCrossSpaceCompactionSelector selector =
-                    new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+                    new RewriteCrossSpaceCompactionSelector(
+                        "", "", 0, null, new CompactionScheduleContext());
                 CrossSpaceCompactionCandidate candidate =
                     new CrossSpaceCompactionCandidate(
                         seqResources, unseqResources, 
System.currentTimeMillis() - Long.MAX_VALUE);
@@ -335,7 +337,8 @@ public class CrossSpaceCompactionSelectorTest extends 
AbstractCompactionTest {
             () -> {
               try {
                 RewriteCrossSpaceCompactionSelector selector =
-                    new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+                    new RewriteCrossSpaceCompactionSelector(
+                        "", "", 0, null, new CompactionScheduleContext());
                 // copy candidate source file list and add read lock
                 CrossSpaceCompactionCandidate candidate =
                     new CrossSpaceCompactionCandidate(
@@ -446,7 +449,8 @@ public class CrossSpaceCompactionSelectorTest extends 
AbstractCompactionTest {
             () -> {
               try {
                 RewriteCrossSpaceCompactionSelector selector =
-                    new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+                    new RewriteCrossSpaceCompactionSelector(
+                        "", "", 0, null, new CompactionScheduleContext());
                 // copy candidate source file list and add read lock
                 CrossSpaceCompactionCandidate candidate =
                     new CrossSpaceCompactionCandidate(
@@ -551,7 +555,8 @@ public class CrossSpaceCompactionSelectorTest extends 
AbstractCompactionTest {
             () -> {
               try {
                 RewriteCrossSpaceCompactionSelector selector =
-                    new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+                    new RewriteCrossSpaceCompactionSelector(
+                        "", "", 0, null, new CompactionScheduleContext());
                 // copy candidate source file list and add read lock
                 CrossSpaceCompactionCandidate candidate =
                     new CrossSpaceCompactionCandidate(
@@ -671,7 +676,8 @@ public class CrossSpaceCompactionSelectorTest extends 
AbstractCompactionTest {
             () -> {
               try {
                 RewriteCrossSpaceCompactionSelector selector =
-                    new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+                    new RewriteCrossSpaceCompactionSelector(
+                        "", "", 0, null, new CompactionScheduleContext());
                 // copy candidate source file list and add read lock
                 CrossSpaceCompactionCandidate candidate =
                     new CrossSpaceCompactionCandidate(
@@ -787,7 +793,8 @@ public class CrossSpaceCompactionSelectorTest extends 
AbstractCompactionTest {
             () -> {
               try {
                 RewriteCrossSpaceCompactionSelector selector =
-                    new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+                    new RewriteCrossSpaceCompactionSelector(
+                        "", "", 0, null, new CompactionScheduleContext());
                 // copy candidate source file list and add read lock
                 CrossSpaceCompactionCandidate candidate =
                     new CrossSpaceCompactionCandidate(
@@ -896,7 +903,8 @@ public class CrossSpaceCompactionSelectorTest extends 
AbstractCompactionTest {
             () -> {
               try {
                 RewriteCrossSpaceCompactionSelector selector =
-                    new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+                    new RewriteCrossSpaceCompactionSelector(
+                        "", "", 0, null, new CompactionScheduleContext());
                 // copy candidate source file list and add read lock
                 CrossSpaceCompactionCandidate candidate =
                     new CrossSpaceCompactionCandidate(
@@ -1018,7 +1026,8 @@ public class CrossSpaceCompactionSelectorTest extends 
AbstractCompactionTest {
                 cd1.countDown();
                 cd2.await();
                 RewriteCrossSpaceCompactionSelector selector =
-                    new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+                    new RewriteCrossSpaceCompactionSelector(
+                        "", "", 0, null, new CompactionScheduleContext());
                 CrossSpaceCompactionCandidate candidate =
                     new CrossSpaceCompactionCandidate(
                         seqResources, unseqResources, 
System.currentTimeMillis() - Long.MAX_VALUE);
@@ -1089,7 +1098,8 @@ public class CrossSpaceCompactionSelectorTest extends 
AbstractCompactionTest {
                 cd1.countDown();
                 cd2.await();
                 RewriteCrossSpaceCompactionSelector selector =
-                    new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+                    new RewriteCrossSpaceCompactionSelector(
+                        "", "", 0, null, new CompactionScheduleContext());
                 CrossSpaceCompactionCandidate candidate =
                     new CrossSpaceCompactionCandidate(
                         seqResources, unseqResources, 
System.currentTimeMillis() - Long.MAX_VALUE);
@@ -1158,7 +1168,8 @@ public class CrossSpaceCompactionSelectorTest extends 
AbstractCompactionTest {
             () -> {
               try {
                 RewriteCrossSpaceCompactionSelector selector =
-                    new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+                    new RewriteCrossSpaceCompactionSelector(
+                        "", "", 0, null, new CompactionScheduleContext());
                 // copy candidate source file list and add read lock
                 CrossSpaceCompactionCandidate candidate =
                     new CrossSpaceCompactionCandidate(
@@ -1270,7 +1281,8 @@ public class CrossSpaceCompactionSelectorTest extends 
AbstractCompactionTest {
             () -> {
               try {
                 RewriteCrossSpaceCompactionSelector selector =
-                    new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+                    new RewriteCrossSpaceCompactionSelector(
+                        "", "", 0, null, new CompactionScheduleContext());
                 // copy candidate source file list and add read lock
                 CrossSpaceCompactionCandidate candidate =
                     new CrossSpaceCompactionCandidate(
@@ -1376,7 +1388,8 @@ public class CrossSpaceCompactionSelectorTest extends 
AbstractCompactionTest {
             () -> {
               try {
                 RewriteCrossSpaceCompactionSelector selector =
-                    new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+                    new RewriteCrossSpaceCompactionSelector(
+                        "", "", 0, null, new CompactionScheduleContext());
                 // copy candidate source file list and add read lock
                 CrossSpaceCompactionCandidate candidate =
                     new CrossSpaceCompactionCandidate(
@@ -1497,7 +1510,8 @@ public class CrossSpaceCompactionSelectorTest extends 
AbstractCompactionTest {
             () -> {
               try {
                 RewriteCrossSpaceCompactionSelector selector =
-                    new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+                    new RewriteCrossSpaceCompactionSelector(
+                        "", "", 0, null, new CompactionScheduleContext());
                 // copy candidate source file list and add read lock
                 CrossSpaceCompactionCandidate candidate =
                     new CrossSpaceCompactionCandidate(
@@ -1612,7 +1626,8 @@ public class CrossSpaceCompactionSelectorTest extends 
AbstractCompactionTest {
             () -> {
               try {
                 RewriteCrossSpaceCompactionSelector selector =
-                    new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+                    new RewriteCrossSpaceCompactionSelector(
+                        "", "", 0, null, new CompactionScheduleContext());
                 // copy candidate source file list and add read lock
                 CrossSpaceCompactionCandidate candidate =
                     new CrossSpaceCompactionCandidate(
@@ -1721,7 +1736,8 @@ public class CrossSpaceCompactionSelectorTest extends 
AbstractCompactionTest {
             () -> {
               try {
                 RewriteCrossSpaceCompactionSelector selector =
-                    new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+                    new RewriteCrossSpaceCompactionSelector(
+                        "", "", 0, null, new CompactionScheduleContext());
                 // copy candidate source file list and add read lock
                 CrossSpaceCompactionCandidate candidate =
                     new CrossSpaceCompactionCandidate(
@@ -1843,7 +1859,8 @@ public class CrossSpaceCompactionSelectorTest extends 
AbstractCompactionTest {
                 cd1.countDown();
                 cd2.await();
                 RewriteCrossSpaceCompactionSelector selector =
-                    new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+                    new RewriteCrossSpaceCompactionSelector(
+                        "", "", 0, null, new CompactionScheduleContext());
                 CrossSpaceCompactionCandidate candidate =
                     new CrossSpaceCompactionCandidate(
                         seqResources, unseqResources, 
System.currentTimeMillis() - Long.MAX_VALUE);
diff --git 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/cross/CrossSpaceCompactionWithFastPerformerTest.java
 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/cross/CrossSpaceCompactionWithFastPerformerTest.java
index 6ce367f7a84..e327114ca5c 100644
--- 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/cross/CrossSpaceCompactionWithFastPerformerTest.java
+++ 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/cross/CrossSpaceCompactionWithFastPerformerTest.java
@@ -28,6 +28,7 @@ import 
org.apache.iotdb.db.storageengine.buffer.TimeSeriesMetadataCache;
 import 
org.apache.iotdb.db.storageengine.dataregion.compaction.execute.performer.impl.FastCompactionPerformer;
 import 
org.apache.iotdb.db.storageengine.dataregion.compaction.execute.task.AbstractCompactionTask;
 import 
org.apache.iotdb.db.storageengine.dataregion.compaction.execute.task.CrossSpaceCompactionTask;
+import 
org.apache.iotdb.db.storageengine.dataregion.compaction.schedule.CompactionScheduleContext;
 import 
org.apache.iotdb.db.storageengine.dataregion.compaction.schedule.CompactionTaskManager;
 import 
org.apache.iotdb.db.storageengine.dataregion.compaction.selector.impl.RewriteCrossSpaceCompactionSelector;
 import 
org.apache.iotdb.db.storageengine.dataregion.compaction.selector.utils.CrossCompactionTaskResource;
@@ -411,7 +412,8 @@ public class CrossSpaceCompactionWithFastPerformerTest {
               new CrossSpaceCompactionCandidate(
                   seqTsFileResourceList, unseqTsFileResourceList, 
timeLowerBound);
           RewriteCrossSpaceCompactionSelector selector =
-              new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+              new RewriteCrossSpaceCompactionSelector(
+                  "", "", 0, null, new CompactionScheduleContext());
           List<CrossCompactionTaskResource> selected =
               selector.selectCrossSpaceTask(seqTsFileResourceList, 
unseqTsFileResourceList);
           index++;
@@ -712,7 +714,8 @@ public class CrossSpaceCompactionWithFastPerformerTest {
               new CrossSpaceCompactionCandidate(
                   seqTsFileResourceList, unseqTsFileResourceList, 
timeLowerBound);
           RewriteCrossSpaceCompactionSelector selector =
-              new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+              new RewriteCrossSpaceCompactionSelector(
+                  "", "", 0, null, new CompactionScheduleContext());
           List<CrossCompactionTaskResource> selected =
               selector.selectCrossSpaceTask(seqTsFileResourceList, 
unseqTsFileResourceList);
           if (selected.size() > 0) {
@@ -1011,7 +1014,8 @@ public class CrossSpaceCompactionWithFastPerformerTest {
               new CrossSpaceCompactionCandidate(
                   seqTsFileResourceList, unseqTsFileResourceList, 
timeLowerBound);
           RewriteCrossSpaceCompactionSelector selector =
-              new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+              new RewriteCrossSpaceCompactionSelector(
+                  "", "", 0, null, new CompactionScheduleContext());
           List<CrossCompactionTaskResource> selected =
               selector.selectCrossSpaceTask(seqTsFileResourceList, 
unseqTsFileResourceList);
           if (selected.size() > 0) {
diff --git 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/cross/CrossSpaceCompactionWithFastPerformerValidationTest.java
 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/cross/CrossSpaceCompactionWithFastPerformerValidationTest.java
index 8193da78e08..d3c6f71b126 100644
--- 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/cross/CrossSpaceCompactionWithFastPerformerValidationTest.java
+++ 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/cross/CrossSpaceCompactionWithFastPerformerValidationTest.java
@@ -35,6 +35,7 @@ import 
org.apache.iotdb.db.storageengine.dataregion.compaction.execute.task.Cros
 import 
org.apache.iotdb.db.storageengine.dataregion.compaction.execute.task.InnerSpaceCompactionTask;
 import 
org.apache.iotdb.db.storageengine.dataregion.compaction.execute.task.subtask.FastCompactionTaskSummary;
 import 
org.apache.iotdb.db.storageengine.dataregion.compaction.execute.utils.CompactionUtils;
+import 
org.apache.iotdb.db.storageengine.dataregion.compaction.schedule.CompactionScheduleContext;
 import 
org.apache.iotdb.db.storageengine.dataregion.compaction.selector.ICompactionSelector;
 import 
org.apache.iotdb.db.storageengine.dataregion.compaction.selector.ICrossSpaceSelector;
 import 
org.apache.iotdb.db.storageengine.dataregion.compaction.selector.impl.RewriteCrossSpaceCompactionSelector;
@@ -120,7 +121,7 @@ public class 
CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
     tsFileManager.addAll(unseqResources, false);
 
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
     Assert.assertEquals(1, selected.get(0).getSeqFiles().size());
@@ -162,7 +163,7 @@ public class 
CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -206,7 +207,7 @@ public class 
CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -256,7 +257,7 @@ public class 
CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -304,7 +305,7 @@ public class 
CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -353,7 +354,7 @@ public class 
CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -401,7 +402,7 @@ public class 
CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -450,7 +451,7 @@ public class 
CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -502,7 +503,7 @@ public class 
CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -552,7 +553,7 @@ public class 
CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -603,7 +604,7 @@ public class 
CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -652,7 +653,7 @@ public class 
CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -703,7 +704,7 @@ public class 
CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -755,7 +756,7 @@ public class 
CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -806,7 +807,7 @@ public class 
CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -859,7 +860,7 @@ public class 
CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -913,7 +914,7 @@ public class 
CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -966,7 +967,7 @@ public class 
CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -1020,7 +1021,7 @@ public class 
CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -1074,7 +1075,7 @@ public class 
CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -1128,7 +1129,7 @@ public class 
CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -1178,7 +1179,7 @@ public class 
CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -1228,7 +1229,7 @@ public class 
CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -1279,7 +1280,7 @@ public class 
CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -1328,7 +1329,7 @@ public class 
CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -1379,7 +1380,7 @@ public class 
CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -1431,7 +1432,7 @@ public class 
CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -1482,7 +1483,7 @@ public class 
CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -1535,7 +1536,7 @@ public class 
CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -1589,7 +1590,7 @@ public class 
CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -1642,7 +1643,7 @@ public class 
CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -1696,7 +1697,7 @@ public class 
CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -1750,7 +1751,7 @@ public class 
CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -1804,7 +1805,7 @@ public class 
CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -1858,7 +1859,7 @@ public class 
CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -1911,7 +1912,7 @@ public class 
CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
     // Assert.assertEquals(0, result.length);
@@ -1957,7 +1958,7 @@ public class 
CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -2009,7 +2010,7 @@ public class 
CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -2063,7 +2064,7 @@ public class 
CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -2123,7 +2124,8 @@ public class 
CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
         IoTDBDescriptor.getInstance()
             .getConfig()
             .getCrossCompactionSelector()
-            .createInstance(COMPACTION_TEST_SG, "0", 0, tsFileManager);
+            .createInstance(
+                COMPACTION_TEST_SG, "0", 0, tsFileManager, new 
CompactionScheduleContext());
     // In the process of getting the file list and starting to select files, 
the file list is
     // updated (the file is deleted or the status is updated)
     List<CrossCompactionTaskResource> selected =
@@ -2213,7 +2215,8 @@ public class 
CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
         IoTDBDescriptor.getInstance()
             .getConfig()
             .getCrossCompactionSelector()
-            .createInstance(COMPACTION_TEST_SG, "0", 0, tsFileManager);
+            .createInstance(
+                COMPACTION_TEST_SG, "0", 0, tsFileManager, new 
CompactionScheduleContext());
     CrossCompactionTaskResource sourceFiles =
         crossSpaceCompactionSelector
             .selectCrossSpaceTask(
@@ -2255,7 +2258,8 @@ public class 
CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
         IoTDBDescriptor.getInstance()
             .getConfig()
             .getInnerSequenceCompactionSelector()
-            .createInstance(COMPACTION_TEST_SG, "0", 0, tsFileManager, null);
+            .createInstance(
+                COMPACTION_TEST_SG, "0", 0, tsFileManager, new 
CompactionScheduleContext());
     Assert.assertEquals(0, 
innerSelector.selectInnerSpaceTask(targetResources).size());
 
     // first compaction task finishes successfully
@@ -2331,7 +2335,8 @@ public class 
CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
         IoTDBDescriptor.getInstance()
             .getConfig()
             .getCrossCompactionSelector()
-            .createInstance(COMPACTION_TEST_SG, "0", 0, tsFileManager);
+            .createInstance(
+                COMPACTION_TEST_SG, "0", 0, tsFileManager, new 
CompactionScheduleContext());
     CrossCompactionTaskResource sourceFiles =
         crossSpaceCompactionSelector
             .selectCrossSpaceTask(
@@ -2403,7 +2408,8 @@ public class 
CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
         IoTDBDescriptor.getInstance()
             .getConfig()
             .getCrossCompactionSelector()
-            .createInstance(COMPACTION_TEST_SG, "0", 0, tsFileManager);
+            .createInstance(
+                COMPACTION_TEST_SG, "0", 0, tsFileManager, new 
CompactionScheduleContext());
     CrossCompactionTaskResource sourceFiles =
         crossSpaceCompactionSelector
             .selectCrossSpaceTask(
@@ -2475,7 +2481,8 @@ public class 
CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
         IoTDBDescriptor.getInstance()
             .getConfig()
             .getCrossCompactionSelector()
-            .createInstance(COMPACTION_TEST_SG, "0", 0, tsFileManager);
+            .createInstance(
+                COMPACTION_TEST_SG, "0", 0, tsFileManager, new 
CompactionScheduleContext());
     CrossCompactionTaskResource sourceFiles =
         crossSpaceCompactionSelector
             .selectCrossSpaceTask(
@@ -2548,7 +2555,8 @@ public class 
CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
         IoTDBDescriptor.getInstance()
             .getConfig()
             .getCrossCompactionSelector()
-            .createInstance(COMPACTION_TEST_SG, "0", 0, tsFileManager);
+            .createInstance(
+                COMPACTION_TEST_SG, "0", 0, tsFileManager, new 
CompactionScheduleContext());
     CrossCompactionTaskResource sourceFiles =
         crossSpaceCompactionSelector
             .selectCrossSpaceTask(
@@ -2628,7 +2636,8 @@ public class 
CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
         IoTDBDescriptor.getInstance()
             .getConfig()
             .getCrossCompactionSelector()
-            .createInstance(COMPACTION_TEST_SG, "0", 0, tsFileManager);
+            .createInstance(
+                COMPACTION_TEST_SG, "0", 0, tsFileManager, new 
CompactionScheduleContext());
     CrossCompactionTaskResource sourceFiles =
         crossSpaceCompactionSelector
             .selectCrossSpaceTask(
@@ -2706,7 +2715,8 @@ public class 
CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
         IoTDBDescriptor.getInstance()
             .getConfig()
             .getCrossCompactionSelector()
-            .createInstance(COMPACTION_TEST_SG, "0", 0, tsFileManager);
+            .createInstance(
+                COMPACTION_TEST_SG, "0", 0, tsFileManager, new 
CompactionScheduleContext());
     CrossCompactionTaskResource sourceFiles =
         crossSpaceCompactionSelector
             .selectCrossSpaceTask(
@@ -2785,7 +2795,8 @@ public class 
CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
         IoTDBDescriptor.getInstance()
             .getConfig()
             .getCrossCompactionSelector()
-            .createInstance(COMPACTION_TEST_SG, "0", 0, tsFileManager);
+            .createInstance(
+                COMPACTION_TEST_SG, "0", 0, tsFileManager, new 
CompactionScheduleContext());
     CrossCompactionTaskResource sourceFiles =
         crossSpaceCompactionSelector
             .selectCrossSpaceTask(
@@ -2865,7 +2876,8 @@ public class 
CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
         IoTDBDescriptor.getInstance()
             .getConfig()
             .getCrossCompactionSelector()
-            .createInstance(COMPACTION_TEST_SG, "0", 0, tsFileManager);
+            .createInstance(
+                COMPACTION_TEST_SG, "0", 0, tsFileManager, new 
CompactionScheduleContext());
     CrossCompactionTaskResource sourceFiles =
         crossSpaceCompactionSelector
             .selectCrossSpaceTask(
diff --git 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/cross/CrossSpaceCompactionWithReadPointPerformerTest.java
 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/cross/CrossSpaceCompactionWithReadPointPerformerTest.java
index 9309736f07f..3c194a4e3d1 100644
--- 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/cross/CrossSpaceCompactionWithReadPointPerformerTest.java
+++ 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/cross/CrossSpaceCompactionWithReadPointPerformerTest.java
@@ -28,6 +28,7 @@ import 
org.apache.iotdb.db.storageengine.buffer.TimeSeriesMetadataCache;
 import 
org.apache.iotdb.db.storageengine.dataregion.compaction.execute.performer.impl.ReadPointCompactionPerformer;
 import 
org.apache.iotdb.db.storageengine.dataregion.compaction.execute.task.AbstractCompactionTask;
 import 
org.apache.iotdb.db.storageengine.dataregion.compaction.execute.task.CrossSpaceCompactionTask;
+import 
org.apache.iotdb.db.storageengine.dataregion.compaction.schedule.CompactionScheduleContext;
 import 
org.apache.iotdb.db.storageengine.dataregion.compaction.schedule.CompactionTaskManager;
 import 
org.apache.iotdb.db.storageengine.dataregion.compaction.selector.impl.RewriteCrossSpaceCompactionSelector;
 import 
org.apache.iotdb.db.storageengine.dataregion.compaction.selector.utils.CrossCompactionTaskResource;
@@ -410,7 +411,8 @@ public class CrossSpaceCompactionWithReadPointPerformerTest 
{
               new CrossSpaceCompactionCandidate(
                   seqTsFileResourceList, unseqTsFileResourceList, 
timeLowerBound);
           RewriteCrossSpaceCompactionSelector selector =
-              new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+              new RewriteCrossSpaceCompactionSelector(
+                  "", "", 0, null, new CompactionScheduleContext());
           List<CrossCompactionTaskResource> selected =
               selector.selectCrossSpaceTask(seqTsFileResourceList, 
unseqTsFileResourceList);
           index++;
@@ -711,7 +713,8 @@ public class CrossSpaceCompactionWithReadPointPerformerTest 
{
               new CrossSpaceCompactionCandidate(
                   seqTsFileResourceList, unseqTsFileResourceList, 
timeLowerBound);
           RewriteCrossSpaceCompactionSelector selector =
-              new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+              new RewriteCrossSpaceCompactionSelector(
+                  "", "", 0, null, new CompactionScheduleContext());
           List<CrossCompactionTaskResource> selected =
               selector.selectCrossSpaceTask(seqTsFileResourceList, 
unseqTsFileResourceList);
           if (selected.size() > 0) {
@@ -1010,7 +1013,8 @@ public class 
CrossSpaceCompactionWithReadPointPerformerTest {
               new CrossSpaceCompactionCandidate(
                   seqTsFileResourceList, unseqTsFileResourceList, 
timeLowerBound);
           RewriteCrossSpaceCompactionSelector selector =
-              new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+              new RewriteCrossSpaceCompactionSelector(
+                  "", "", 0, null, new CompactionScheduleContext());
           List<CrossCompactionTaskResource> selected =
               selector.selectCrossSpaceTask(seqTsFileResourceList, 
unseqTsFileResourceList);
           if (selected.size() > 0) {
diff --git 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/cross/CrossSpaceCompactionWithReadPointPerformerValidationTest.java
 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/cross/CrossSpaceCompactionWithReadPointPerformerValidationTest.java
index 6dc0692a022..5ff3f8b8776 100644
--- 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/cross/CrossSpaceCompactionWithReadPointPerformerValidationTest.java
+++ 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/cross/CrossSpaceCompactionWithReadPointPerformerValidationTest.java
@@ -36,6 +36,7 @@ import 
org.apache.iotdb.db.storageengine.dataregion.compaction.execute.task.Comp
 import 
org.apache.iotdb.db.storageengine.dataregion.compaction.execute.task.CrossSpaceCompactionTask;
 import 
org.apache.iotdb.db.storageengine.dataregion.compaction.execute.task.InnerSpaceCompactionTask;
 import 
org.apache.iotdb.db.storageengine.dataregion.compaction.execute.utils.CompactionUtils;
+import 
org.apache.iotdb.db.storageengine.dataregion.compaction.schedule.CompactionScheduleContext;
 import 
org.apache.iotdb.db.storageengine.dataregion.compaction.selector.ICrossSpaceSelector;
 import 
org.apache.iotdb.db.storageengine.dataregion.compaction.selector.impl.RewriteCrossSpaceCompactionSelector;
 import 
org.apache.iotdb.db.storageengine.dataregion.compaction.selector.impl.SizeTieredCompactionSelector;
@@ -118,7 +119,7 @@ public class 
CrossSpaceCompactionWithReadPointPerformerValidationTest
     tsFileManager.addAll(unseqResources, false);
 
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
     Assert.assertEquals(1, selected.get(0).getSeqFiles().size());
@@ -160,7 +161,7 @@ public class 
CrossSpaceCompactionWithReadPointPerformerValidationTest
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -204,7 +205,7 @@ public class 
CrossSpaceCompactionWithReadPointPerformerValidationTest
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -254,7 +255,7 @@ public class 
CrossSpaceCompactionWithReadPointPerformerValidationTest
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -302,7 +303,7 @@ public class 
CrossSpaceCompactionWithReadPointPerformerValidationTest
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -351,7 +352,7 @@ public class 
CrossSpaceCompactionWithReadPointPerformerValidationTest
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -399,7 +400,7 @@ public class 
CrossSpaceCompactionWithReadPointPerformerValidationTest
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -448,7 +449,7 @@ public class 
CrossSpaceCompactionWithReadPointPerformerValidationTest
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -500,7 +501,7 @@ public class 
CrossSpaceCompactionWithReadPointPerformerValidationTest
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -550,7 +551,7 @@ public class 
CrossSpaceCompactionWithReadPointPerformerValidationTest
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -601,7 +602,7 @@ public class 
CrossSpaceCompactionWithReadPointPerformerValidationTest
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -650,7 +651,7 @@ public class 
CrossSpaceCompactionWithReadPointPerformerValidationTest
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -701,7 +702,7 @@ public class 
CrossSpaceCompactionWithReadPointPerformerValidationTest
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -753,7 +754,7 @@ public class 
CrossSpaceCompactionWithReadPointPerformerValidationTest
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -804,7 +805,7 @@ public class 
CrossSpaceCompactionWithReadPointPerformerValidationTest
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -857,7 +858,7 @@ public class 
CrossSpaceCompactionWithReadPointPerformerValidationTest
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -911,7 +912,7 @@ public class 
CrossSpaceCompactionWithReadPointPerformerValidationTest
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -964,7 +965,7 @@ public class 
CrossSpaceCompactionWithReadPointPerformerValidationTest
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -1018,7 +1019,7 @@ public class 
CrossSpaceCompactionWithReadPointPerformerValidationTest
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -1072,7 +1073,7 @@ public class 
CrossSpaceCompactionWithReadPointPerformerValidationTest
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -1126,7 +1127,7 @@ public class 
CrossSpaceCompactionWithReadPointPerformerValidationTest
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -1176,7 +1177,7 @@ public class 
CrossSpaceCompactionWithReadPointPerformerValidationTest
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -1226,7 +1227,7 @@ public class 
CrossSpaceCompactionWithReadPointPerformerValidationTest
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -1277,7 +1278,7 @@ public class 
CrossSpaceCompactionWithReadPointPerformerValidationTest
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -1326,7 +1327,7 @@ public class 
CrossSpaceCompactionWithReadPointPerformerValidationTest
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -1377,7 +1378,7 @@ public class 
CrossSpaceCompactionWithReadPointPerformerValidationTest
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -1429,7 +1430,7 @@ public class 
CrossSpaceCompactionWithReadPointPerformerValidationTest
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -1480,7 +1481,7 @@ public class 
CrossSpaceCompactionWithReadPointPerformerValidationTest
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -1533,7 +1534,7 @@ public class 
CrossSpaceCompactionWithReadPointPerformerValidationTest
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -1587,7 +1588,7 @@ public class 
CrossSpaceCompactionWithReadPointPerformerValidationTest
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -1640,7 +1641,7 @@ public class 
CrossSpaceCompactionWithReadPointPerformerValidationTest
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -1694,7 +1695,7 @@ public class 
CrossSpaceCompactionWithReadPointPerformerValidationTest
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -1748,7 +1749,7 @@ public class 
CrossSpaceCompactionWithReadPointPerformerValidationTest
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -1802,7 +1803,7 @@ public class 
CrossSpaceCompactionWithReadPointPerformerValidationTest
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -1856,7 +1857,7 @@ public class 
CrossSpaceCompactionWithReadPointPerformerValidationTest
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -1909,7 +1910,7 @@ public class 
CrossSpaceCompactionWithReadPointPerformerValidationTest
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
     // Assert.assertEquals(0, result.length);
@@ -1955,7 +1956,7 @@ public class 
CrossSpaceCompactionWithReadPointPerformerValidationTest
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -2007,7 +2008,7 @@ public class 
CrossSpaceCompactionWithReadPointPerformerValidationTest
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -2061,7 +2062,7 @@ public class 
CrossSpaceCompactionWithReadPointPerformerValidationTest
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
 
@@ -2125,7 +2126,8 @@ public class 
CrossSpaceCompactionWithReadPointPerformerValidationTest
         IoTDBDescriptor.getInstance()
             .getConfig()
             .getCrossCompactionSelector()
-            .createInstance(COMPACTION_TEST_SG, "0", 0, tsFileManager);
+            .createInstance(
+                COMPACTION_TEST_SG, "0", 0, tsFileManager, new 
CompactionScheduleContext());
     // In the process of getting the file list and starting to select files, 
the file list is
     // updated (the file is deleted or the status is updated)
     List<CrossCompactionTaskResource> selected =
@@ -2182,7 +2184,8 @@ public class 
CrossSpaceCompactionWithReadPointPerformerValidationTest
         IoTDBDescriptor.getInstance()
             .getConfig()
             .getCrossCompactionSelector()
-            .createInstance(COMPACTION_TEST_SG, "0", 0, tsFileManager);
+            .createInstance(
+                COMPACTION_TEST_SG, "0", 0, tsFileManager, new 
CompactionScheduleContext());
     CrossCompactionTaskResource sourceFiles =
         crossSpaceCompactionSelector
             .selectCrossSpaceTask(
@@ -2254,7 +2257,8 @@ public class 
CrossSpaceCompactionWithReadPointPerformerValidationTest
         IoTDBDescriptor.getInstance()
             .getConfig()
             .getCrossCompactionSelector()
-            .createInstance(COMPACTION_TEST_SG, "0", 0, tsFileManager);
+            .createInstance(
+                COMPACTION_TEST_SG, "0", 0, tsFileManager, new 
CompactionScheduleContext());
     CrossCompactionTaskResource sourceFiles =
         crossSpaceCompactionSelector
             .selectCrossSpaceTask(
@@ -2327,7 +2331,8 @@ public class 
CrossSpaceCompactionWithReadPointPerformerValidationTest
         IoTDBDescriptor.getInstance()
             .getConfig()
             .getCrossCompactionSelector()
-            .createInstance(COMPACTION_TEST_SG, "0", 0, tsFileManager);
+            .createInstance(
+                COMPACTION_TEST_SG, "0", 0, tsFileManager, new 
CompactionScheduleContext());
     CrossCompactionTaskResource sourceFiles =
         crossSpaceCompactionSelector
             .selectCrossSpaceTask(
@@ -2401,7 +2406,8 @@ public class 
CrossSpaceCompactionWithReadPointPerformerValidationTest
         IoTDBDescriptor.getInstance()
             .getConfig()
             .getCrossCompactionSelector()
-            .createInstance(COMPACTION_TEST_SG, "0", 0, tsFileManager);
+            .createInstance(
+                COMPACTION_TEST_SG, "0", 0, tsFileManager, new 
CompactionScheduleContext());
     CrossCompactionTaskResource sourceFiles =
         crossSpaceCompactionSelector
             .selectCrossSpaceTask(
@@ -2481,7 +2487,8 @@ public class 
CrossSpaceCompactionWithReadPointPerformerValidationTest
         IoTDBDescriptor.getInstance()
             .getConfig()
             .getCrossCompactionSelector()
-            .createInstance(COMPACTION_TEST_SG, "0", 0, tsFileManager);
+            .createInstance(
+                COMPACTION_TEST_SG, "0", 0, tsFileManager, new 
CompactionScheduleContext());
     CrossCompactionTaskResource sourceFiles =
         crossSpaceCompactionSelector
             .selectCrossSpaceTask(
@@ -2560,7 +2567,8 @@ public class 
CrossSpaceCompactionWithReadPointPerformerValidationTest
         IoTDBDescriptor.getInstance()
             .getConfig()
             .getCrossCompactionSelector()
-            .createInstance(COMPACTION_TEST_SG, "0", 0, tsFileManager);
+            .createInstance(
+                COMPACTION_TEST_SG, "0", 0, tsFileManager, new 
CompactionScheduleContext());
     CrossCompactionTaskResource sourceFiles =
         crossSpaceCompactionSelector
             .selectCrossSpaceTask(
@@ -2640,7 +2648,8 @@ public class 
CrossSpaceCompactionWithReadPointPerformerValidationTest
         IoTDBDescriptor.getInstance()
             .getConfig()
             .getCrossCompactionSelector()
-            .createInstance(COMPACTION_TEST_SG, "0", 0, tsFileManager);
+            .createInstance(
+                COMPACTION_TEST_SG, "0", 0, tsFileManager, new 
CompactionScheduleContext());
     CrossCompactionTaskResource sourceFiles =
         crossSpaceCompactionSelector
             .selectCrossSpaceTask(
@@ -2721,7 +2730,8 @@ public class 
CrossSpaceCompactionWithReadPointPerformerValidationTest
         IoTDBDescriptor.getInstance()
             .getConfig()
             .getCrossCompactionSelector()
-            .createInstance(COMPACTION_TEST_SG, "0", 0, tsFileManager);
+            .createInstance(
+                COMPACTION_TEST_SG, "0", 0, tsFileManager, new 
CompactionScheduleContext());
     CrossCompactionTaskResource sourceFiles =
         crossSpaceCompactionSelector
             .selectCrossSpaceTask(
diff --git 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/cross/InsertionCrossSpaceCompactionRecoverTest.java
 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/cross/InsertionCrossSpaceCompactionRecoverTest.java
index 69b4bc94fc0..c8e4ec825f1 100644
--- 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/cross/InsertionCrossSpaceCompactionRecoverTest.java
+++ 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/cross/InsertionCrossSpaceCompactionRecoverTest.java
@@ -26,6 +26,7 @@ import 
org.apache.iotdb.db.storageengine.dataregion.compaction.AbstractCompactio
 import 
org.apache.iotdb.db.storageengine.dataregion.compaction.execute.task.InsertionCrossSpaceCompactionTask;
 import 
org.apache.iotdb.db.storageengine.dataregion.compaction.execute.utils.log.CompactionLogger;
 import 
org.apache.iotdb.db.storageengine.dataregion.compaction.execute.utils.log.SimpleCompactionLogger;
+import 
org.apache.iotdb.db.storageengine.dataregion.compaction.schedule.CompactionScheduleContext;
 import 
org.apache.iotdb.db.storageengine.dataregion.compaction.selector.impl.RewriteCrossSpaceCompactionSelector;
 import 
org.apache.iotdb.db.storageengine.dataregion.compaction.selector.utils.CrossSpaceCompactionCandidate;
 import 
org.apache.iotdb.db.storageengine.dataregion.compaction.selector.utils.InsertionCrossCompactionTaskResource;
@@ -117,7 +118,8 @@ public class InsertionCrossSpaceCompactionRecoverTest 
extends AbstractCompaction
     tsFileManager.addAll(unseqResources, false);
 
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("root.testsg", "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            "root.testsg", "0", 0, tsFileManager, new 
CompactionScheduleContext());
     InsertionCrossCompactionTaskResource taskResource =
         selector.selectOneInsertionTask(
             new CrossSpaceCompactionCandidate(seqResources, unseqResources));
@@ -204,7 +206,8 @@ public class InsertionCrossSpaceCompactionRecoverTest 
extends AbstractCompaction
     tsFileManager.addAll(unseqResources, false);
 
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("root.testsg", "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            "root.testsg", "0", 0, tsFileManager, new 
CompactionScheduleContext());
     InsertionCrossCompactionTaskResource taskResource =
         selector.selectOneInsertionTask(
             new CrossSpaceCompactionCandidate(seqResources, unseqResources));
@@ -295,7 +298,8 @@ public class InsertionCrossSpaceCompactionRecoverTest 
extends AbstractCompaction
     tsFileManager.addAll(unseqResources, false);
 
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("root.testsg", "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            "root.testsg", "0", 0, tsFileManager, new 
CompactionScheduleContext());
     InsertionCrossCompactionTaskResource taskResource =
         selector.selectOneInsertionTask(
             new CrossSpaceCompactionCandidate(seqResources, unseqResources));
@@ -388,7 +392,8 @@ public class InsertionCrossSpaceCompactionRecoverTest 
extends AbstractCompaction
     tsFileManager.addAll(unseqResources, false);
 
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("root.testsg", "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            "root.testsg", "0", 0, tsFileManager, new 
CompactionScheduleContext());
     InsertionCrossCompactionTaskResource taskResource =
         selector.selectOneInsertionTask(
             new CrossSpaceCompactionCandidate(seqResources, unseqResources));
diff --git 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/cross/InsertionCrossSpaceCompactionSelectorTest.java
 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/cross/InsertionCrossSpaceCompactionSelectorTest.java
index 3f36a2baeb4..23e37044faf 100644
--- 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/cross/InsertionCrossSpaceCompactionSelectorTest.java
+++ 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/cross/InsertionCrossSpaceCompactionSelectorTest.java
@@ -93,7 +93,8 @@ public class InsertionCrossSpaceCompactionSelectorTest 
extends AbstractCompactio
     tsFileManager.addAll(unseqResources, false);
 
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("root.testsg", "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            "root.testsg", "0", 0, tsFileManager, new 
CompactionScheduleContext());
     InsertionCrossCompactionTaskResource result =
         selector.selectOneInsertionTask(
             new CrossSpaceCompactionCandidate(seqResources, unseqResources));
@@ -200,7 +201,8 @@ public class InsertionCrossSpaceCompactionSelectorTest 
extends AbstractCompactio
     tsFileManager.addAll(unseqResources, false);
 
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("root.testsg", "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            "root.testsg", "0", 0, tsFileManager, new 
CompactionScheduleContext());
     InsertionCrossCompactionTaskResource result =
         selector.selectOneInsertionTask(
             new CrossSpaceCompactionCandidate(seqResources, unseqResources));
@@ -235,7 +237,8 @@ public class InsertionCrossSpaceCompactionSelectorTest 
extends AbstractCompactio
     tsFileManager.addAll(unseqResources, false);
 
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("root.testsg", "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            "root.testsg", "0", 0, tsFileManager, new 
CompactionScheduleContext());
     InsertionCrossCompactionTaskResource result =
         selector.selectOneInsertionTask(
             new CrossSpaceCompactionCandidate(seqResources, unseqResources));
@@ -269,7 +272,8 @@ public class InsertionCrossSpaceCompactionSelectorTest 
extends AbstractCompactio
     tsFileManager.addAll(unseqResources, false);
 
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("root.testsg", "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            "root.testsg", "0", 0, tsFileManager, new 
CompactionScheduleContext());
     InsertionCrossCompactionTaskResource result =
         selector.selectOneInsertionTask(
             new CrossSpaceCompactionCandidate(seqResources, unseqResources));
@@ -306,7 +310,8 @@ public class InsertionCrossSpaceCompactionSelectorTest 
extends AbstractCompactio
     tsFileManager.addAll(unseqResources, false);
 
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("root.testsg", "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            "root.testsg", "0", 0, tsFileManager, new 
CompactionScheduleContext());
     InsertionCrossCompactionTaskResource result =
         selector.selectOneInsertionTask(
             new CrossSpaceCompactionCandidate(seqResources, unseqResources));
@@ -334,7 +339,8 @@ public class InsertionCrossSpaceCompactionSelectorTest 
extends AbstractCompactio
     tsFileManager.addAll(unseqResources, false);
 
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("root.testsg", "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            "root.testsg", "0", 0, tsFileManager, new 
CompactionScheduleContext());
     InsertionCrossCompactionTaskResource result =
         selector.selectOneInsertionTask(
             new CrossSpaceCompactionCandidate(seqResources, unseqResources));
@@ -364,7 +370,8 @@ public class InsertionCrossSpaceCompactionSelectorTest 
extends AbstractCompactio
     tsFileManager.addAll(unseqResources, false);
 
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("root.testsg", "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            "root.testsg", "0", 0, tsFileManager, new 
CompactionScheduleContext());
     InsertionCrossCompactionTaskResource result =
         selector.selectOneInsertionTask(
             new CrossSpaceCompactionCandidate(seqResources, unseqResources));
@@ -394,7 +401,8 @@ public class InsertionCrossSpaceCompactionSelectorTest 
extends AbstractCompactio
     tsFileManager.addAll(unseqResources, false);
 
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("root.testsg", "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            "root.testsg", "0", 0, tsFileManager, new 
CompactionScheduleContext());
     InsertionCrossCompactionTaskResource result =
         selector.selectOneInsertionTask(
             new CrossSpaceCompactionCandidate(seqResources, unseqResources));
@@ -423,7 +431,8 @@ public class InsertionCrossSpaceCompactionSelectorTest 
extends AbstractCompactio
     tsFileManager.addAll(unseqResources, false);
 
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("root.testsg", "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            "root.testsg", "0", 0, tsFileManager, new 
CompactionScheduleContext());
     InsertionCrossCompactionTaskResource result =
         selector.selectOneInsertionTask(
             new CrossSpaceCompactionCandidate(seqResources, unseqResources));
@@ -450,7 +459,8 @@ public class InsertionCrossSpaceCompactionSelectorTest 
extends AbstractCompactio
     tsFileManager.addAll(unseqResources, false);
 
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("root.testsg", "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            "root.testsg", "0", 0, tsFileManager, new 
CompactionScheduleContext());
     InsertionCrossCompactionTaskResource result =
         selector.selectOneInsertionTask(
             new CrossSpaceCompactionCandidate(seqResources, unseqResources));
@@ -482,7 +492,8 @@ public class InsertionCrossSpaceCompactionSelectorTest 
extends AbstractCompactio
     tsFileManager.addAll(unseqResources, false);
 
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("root.testsg", "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            "root.testsg", "0", 0, tsFileManager, new 
CompactionScheduleContext());
     InsertionCrossCompactionTaskResource result =
         selector.selectOneInsertionTask(
             new CrossSpaceCompactionCandidate(seqResources, unseqResources));
@@ -514,7 +525,8 @@ public class InsertionCrossSpaceCompactionSelectorTest 
extends AbstractCompactio
     tsFileManager.addAll(unseqResources, false);
 
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("root.testsg", "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            "root.testsg", "0", 0, tsFileManager, new 
CompactionScheduleContext());
     InsertionCrossCompactionTaskResource result =
         selector.selectOneInsertionTask(
             new CrossSpaceCompactionCandidate(seqResources, unseqResources));
@@ -549,7 +561,8 @@ public class InsertionCrossSpaceCompactionSelectorTest 
extends AbstractCompactio
     tsFileManager.addAll(unseqResources, false);
 
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("root.testsg", "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            "root.testsg", "0", 0, tsFileManager, new 
CompactionScheduleContext());
     InsertionCrossCompactionTaskResource task =
         selector.selectOneInsertionTask(
             new CrossSpaceCompactionCandidate(seqResources, unseqResources));
@@ -593,7 +606,8 @@ public class InsertionCrossSpaceCompactionSelectorTest 
extends AbstractCompactio
     tsFileManager.addAll(unseqResources, false);
 
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("root.testsg", "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            "root.testsg", "0", 0, tsFileManager, new 
CompactionScheduleContext());
     InsertionCrossCompactionTaskResource task =
         selector.selectOneInsertionTask(
             new CrossSpaceCompactionCandidate(seqResources, unseqResources));
@@ -637,7 +651,8 @@ public class InsertionCrossSpaceCompactionSelectorTest 
extends AbstractCompactio
     tsFileManager.addAll(unseqResources, false);
 
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("root.testsg", "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            "root.testsg", "0", 0, tsFileManager, new 
CompactionScheduleContext());
     InsertionCrossCompactionTaskResource task =
         selector.selectOneInsertionTask(
             new CrossSpaceCompactionCandidate(seqResources, unseqResources));
@@ -673,7 +688,8 @@ public class InsertionCrossSpaceCompactionSelectorTest 
extends AbstractCompactio
     tsFileManager.addAll(unseqResources, false);
 
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("root.testsg", "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            "root.testsg", "0", 0, tsFileManager, new 
CompactionScheduleContext());
     InsertionCrossCompactionTaskResource result =
         selector.selectOneInsertionTask(
             new CrossSpaceCompactionCandidate(seqResources, unseqResources));
@@ -713,7 +729,8 @@ public class InsertionCrossSpaceCompactionSelectorTest 
extends AbstractCompactio
     tsFileManager.addAll(unseqResources, false);
 
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("root.testsg", "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            "root.testsg", "0", 0, tsFileManager, new 
CompactionScheduleContext());
     InsertionCrossCompactionTaskResource result =
         selector.selectOneInsertionTask(
             new CrossSpaceCompactionCandidate(seqResources, unseqResources));
@@ -741,7 +758,8 @@ public class InsertionCrossSpaceCompactionSelectorTest 
extends AbstractCompactio
     tsFileManager.addAll(unseqResources, false);
 
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("root.testsg", "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            "root.testsg", "0", 0, tsFileManager, new 
CompactionScheduleContext());
     InsertionCrossCompactionTaskResource result =
         selector.selectOneInsertionTask(
             new CrossSpaceCompactionCandidate(seqResources, unseqResources));
@@ -783,7 +801,8 @@ public class InsertionCrossSpaceCompactionSelectorTest 
extends AbstractCompactio
     tsFileManager.addAll(unseqResources, false);
 
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("root.testsg", "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            "root.testsg", "0", 0, tsFileManager, new 
CompactionScheduleContext());
     InsertionCrossCompactionTaskResource task =
         selector.selectOneInsertionTask(
             new CrossSpaceCompactionCandidate(seqResources, unseqResources));
@@ -829,7 +848,8 @@ public class InsertionCrossSpaceCompactionSelectorTest 
extends AbstractCompactio
     tsFileManager.addAll(unseqResources, false);
 
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("root.testsg", "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            "root.testsg", "0", 0, tsFileManager, new 
CompactionScheduleContext());
     InsertionCrossCompactionTaskResource task =
         selector.selectOneInsertionTask(
             new CrossSpaceCompactionCandidate(seqResources, unseqResources));
@@ -875,7 +895,8 @@ public class InsertionCrossSpaceCompactionSelectorTest 
extends AbstractCompactio
     tsFileManager.addAll(unseqResources, false);
 
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("root.testsg", "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            "root.testsg", "0", 0, tsFileManager, new 
CompactionScheduleContext());
     InsertionCrossCompactionTaskResource task =
         selector.selectOneInsertionTask(
             new CrossSpaceCompactionCandidate(seqResources, unseqResources));
@@ -917,7 +938,8 @@ public class InsertionCrossSpaceCompactionSelectorTest 
extends AbstractCompactio
     tsFileManager.addAll(unseqResources, false);
 
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("root.testsg", "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            "root.testsg", "0", 0, tsFileManager, new 
CompactionScheduleContext());
     InsertionCrossCompactionTaskResource task =
         selector.selectOneInsertionTask(
             new CrossSpaceCompactionCandidate(seqResources, unseqResources));
@@ -965,7 +987,8 @@ public class InsertionCrossSpaceCompactionSelectorTest 
extends AbstractCompactio
     tsFileManager.addAll(unseqResources, false);
 
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("root.testsg", "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            "root.testsg", "0", 0, tsFileManager, new 
CompactionScheduleContext());
     InsertionCrossCompactionTaskResource task =
         selector.selectOneInsertionTask(
             new CrossSpaceCompactionCandidate(seqResources, unseqResources));
@@ -1061,7 +1084,8 @@ public class InsertionCrossSpaceCompactionSelectorTest 
extends AbstractCompactio
     tsFileManager.addAll(unseqResources, false);
 
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("root.testsg", "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            "root.testsg", "0", 0, tsFileManager, new 
CompactionScheduleContext());
     InsertionCrossCompactionTaskResource taskResource;
 
     int i = 1;
@@ -1123,7 +1147,8 @@ public class InsertionCrossSpaceCompactionSelectorTest 
extends AbstractCompactio
     seqResources.add(seqResource3);
 
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("root.testsg", "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            "root.testsg", "0", 0, tsFileManager, new 
CompactionScheduleContext());
     InsertionCrossCompactionTaskResource task =
         selector.selectOneInsertionTask(
             new CrossSpaceCompactionCandidate(seqResources, unseqResources));
@@ -1169,7 +1194,8 @@ public class InsertionCrossSpaceCompactionSelectorTest 
extends AbstractCompactio
     unseqResources.add(unseqResource1);
 
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("root.testsg", "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            "root.testsg", "0", 0, tsFileManager, new 
CompactionScheduleContext());
     InsertionCrossCompactionTaskResource task =
         selector.selectOneInsertionTask(
             new CrossSpaceCompactionCandidate(seqResources, unseqResources));
@@ -1272,7 +1298,8 @@ public class InsertionCrossSpaceCompactionSelectorTest 
extends AbstractCompactio
     tsFileManager.addAll(unseqResources, false);
 
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("root.testsg", "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            "root.testsg", "0", 0, tsFileManager, new 
CompactionScheduleContext());
     InsertionCrossCompactionTaskResource task =
         selector.selectOneInsertionTask(
             new CrossSpaceCompactionCandidate(seqResources, unseqResources));
@@ -1360,7 +1387,8 @@ public class InsertionCrossSpaceCompactionSelectorTest 
extends AbstractCompactio
     unseqResources.add(unseqResource2);
 
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("root.testsg", "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            "root.testsg", "0", 0, tsFileManager, new 
CompactionScheduleContext());
     InsertionCrossCompactionTaskResource task =
         selector.selectOneInsertionTask(
             new CrossSpaceCompactionCandidate(seqResources, unseqResources));
@@ -1443,7 +1471,8 @@ public class InsertionCrossSpaceCompactionSelectorTest 
extends AbstractCompactio
     unseqResources.add(unseqResource2);
 
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("root.testsg", "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            "root.testsg", "0", 0, tsFileManager, new 
CompactionScheduleContext());
     InsertionCrossCompactionTaskResource task =
         selector.selectOneInsertionTask(
             new CrossSpaceCompactionCandidate(seqResources, unseqResources));
@@ -1544,7 +1573,8 @@ public class InsertionCrossSpaceCompactionSelectorTest 
extends AbstractCompactio
     tsFileManager.addAll(unseqResources, false);
 
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("root.testsg", "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            "root.testsg", "0", 0, tsFileManager, new 
CompactionScheduleContext());
     InsertionCrossCompactionTaskResource taskResource;
 
     int i = 1;
@@ -1611,7 +1641,8 @@ public class InsertionCrossSpaceCompactionSelectorTest 
extends AbstractCompactio
     degradeTimeIndex();
 
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("root.testsg", "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            "root.testsg", "0", 0, tsFileManager, new 
CompactionScheduleContext());
     InsertionCrossCompactionTaskResource task =
         selector.selectOneInsertionTask(
             new CrossSpaceCompactionCandidate(seqResources, unseqResources));
@@ -1664,7 +1695,8 @@ public class InsertionCrossSpaceCompactionSelectorTest 
extends AbstractCompactio
     degradeTimeIndex();
 
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("root.testsg", "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            "root.testsg", "0", 0, tsFileManager, new 
CompactionScheduleContext());
     InsertionCrossCompactionTaskResource task =
         selector.selectOneInsertionTask(
             new CrossSpaceCompactionCandidate(seqResources, unseqResources));
@@ -1774,7 +1806,8 @@ public class InsertionCrossSpaceCompactionSelectorTest 
extends AbstractCompactio
     tsFileManager.addAll(unseqResources, false);
 
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("root.testsg", "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            "root.testsg", "0", 0, tsFileManager, new 
CompactionScheduleContext());
     InsertionCrossCompactionTaskResource task =
         selector.selectOneInsertionTask(
             new CrossSpaceCompactionCandidate(seqResources, unseqResources));
@@ -1871,7 +1904,8 @@ public class InsertionCrossSpaceCompactionSelectorTest 
extends AbstractCompactio
     degradeTimeIndex();
 
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("root.testsg", "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            "root.testsg", "0", 0, tsFileManager, new 
CompactionScheduleContext());
     InsertionCrossCompactionTaskResource task =
         selector.selectOneInsertionTask(
             new CrossSpaceCompactionCandidate(seqResources, unseqResources));
@@ -1965,7 +1999,8 @@ public class InsertionCrossSpaceCompactionSelectorTest 
extends AbstractCompactio
     degradeTimeIndex();
 
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("root.testsg", "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            "root.testsg", "0", 0, tsFileManager, new 
CompactionScheduleContext());
     InsertionCrossCompactionTaskResource task =
         selector.selectOneInsertionTask(
             new CrossSpaceCompactionCandidate(seqResources, unseqResources));
diff --git 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/cross/InsertionCrossSpaceCompactionTest.java
 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/cross/InsertionCrossSpaceCompactionTest.java
index b286f7bdfa4..431b9bb9329 100644
--- 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/cross/InsertionCrossSpaceCompactionTest.java
+++ 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/cross/InsertionCrossSpaceCompactionTest.java
@@ -95,7 +95,8 @@ public class InsertionCrossSpaceCompactionTest extends 
AbstractCompactionTest {
     unseqResource1.setStatusForTest(TsFileResourceStatus.NORMAL);
 
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector(COMPACTION_TEST_SG, "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            COMPACTION_TEST_SG, "0", 0, tsFileManager, new 
CompactionScheduleContext());
     seqResources.add(seqResource1);
     seqResources.add(seqResource2);
     unseqResources.add(unseqResource1);
@@ -137,7 +138,8 @@ public class InsertionCrossSpaceCompactionTest extends 
AbstractCompactionTest {
     unseqResource1.setStatusForTest(TsFileResourceStatus.NORMAL);
 
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector(COMPACTION_TEST_SG, "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            COMPACTION_TEST_SG, "0", 0, tsFileManager, new 
CompactionScheduleContext());
     seqResources.add(seqResource1);
     unseqResources.add(unseqResource1);
     tsFileManager.addAll(seqResources, true);
@@ -177,7 +179,8 @@ public class InsertionCrossSpaceCompactionTest extends 
AbstractCompactionTest {
     unseqResource1.setStatusForTest(TsFileResourceStatus.NORMAL);
 
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector(COMPACTION_TEST_SG, "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            COMPACTION_TEST_SG, "0", 0, tsFileManager, new 
CompactionScheduleContext());
     seqResources.add(seqResource1);
     unseqResources.add(unseqResource1);
     tsFileManager.addAll(seqResources, true);
@@ -221,7 +224,8 @@ public class InsertionCrossSpaceCompactionTest extends 
AbstractCompactionTest {
     unseqResource1.setStatusForTest(TsFileResourceStatus.NORMAL);
 
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector(COMPACTION_TEST_SG, "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            COMPACTION_TEST_SG, "0", 0, tsFileManager, new 
CompactionScheduleContext());
     seqResources.add(seqResource1);
     seqResources.add(seqResource2);
     unseqResources.add(unseqResource1);
@@ -259,7 +263,8 @@ public class InsertionCrossSpaceCompactionTest extends 
AbstractCompactionTest {
     unseqResource1.setStatusForTest(TsFileResourceStatus.NORMAL);
 
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector(COMPACTION_TEST_SG, "0", 0, 
tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            COMPACTION_TEST_SG, "0", 0, tsFileManager, new 
CompactionScheduleContext());
     unseqResources.add(unseqResource1);
     tsFileManager.addAll(seqResources, true);
     tsFileManager.addAll(unseqResources, false);
diff --git 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/cross/MergeUpgradeTest.java
 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/cross/MergeUpgradeTest.java
index d62e70140b8..7dac9b8e165 100644
--- 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/cross/MergeUpgradeTest.java
+++ 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/cross/MergeUpgradeTest.java
@@ -22,6 +22,7 @@ package 
org.apache.iotdb.db.storageengine.dataregion.compaction.cross;
 import org.apache.iotdb.commons.conf.IoTDBConstant;
 import org.apache.iotdb.db.conf.IoTDBDescriptor;
 import org.apache.iotdb.db.exception.MergeException;
+import 
org.apache.iotdb.db.storageengine.dataregion.compaction.schedule.CompactionScheduleContext;
 import 
org.apache.iotdb.db.storageengine.dataregion.compaction.selector.impl.RewriteCrossSpaceCompactionSelector;
 import 
org.apache.iotdb.db.storageengine.dataregion.compaction.selector.utils.CrossCompactionTaskResource;
 import 
org.apache.iotdb.db.storageengine.dataregion.compaction.utils.CompactionConfigRestorer;
@@ -87,7 +88,8 @@ public class MergeUpgradeTest {
     tsFileManager.addAll(seqResources, true);
     tsFileManager.addAll(unseqResources, true);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, tsFileManager);
+        new RewriteCrossSpaceCompactionSelector(
+            "", "", 0, tsFileManager, new CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
     assertEquals(0, selected.size());
diff --git 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/cross/RewriteCompactionFileSelectorTest.java
 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/cross/RewriteCompactionFileSelectorTest.java
index c28f73810c5..171c4a131f3 100644
--- 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/cross/RewriteCompactionFileSelectorTest.java
+++ 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/cross/RewriteCompactionFileSelectorTest.java
@@ -24,6 +24,7 @@ import org.apache.iotdb.commons.exception.MetadataException;
 import org.apache.iotdb.db.conf.IoTDBDescriptor;
 import org.apache.iotdb.db.exception.MergeException;
 import org.apache.iotdb.db.exception.StorageEngineException;
+import 
org.apache.iotdb.db.storageengine.dataregion.compaction.schedule.CompactionScheduleContext;
 import 
org.apache.iotdb.db.storageengine.dataregion.compaction.selector.impl.RewriteCrossSpaceCompactionSelector;
 import 
org.apache.iotdb.db.storageengine.dataregion.compaction.selector.utils.CrossCompactionTaskResource;
 import 
org.apache.iotdb.db.storageengine.dataregion.compaction.selector.utils.CrossSpaceCompactionCandidate;
@@ -85,7 +86,7 @@ public class RewriteCompactionFileSelectorTest extends 
MergeTest {
   @Test
   public void testFullSelection() throws MergeException, IOException {
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
     List<TsFileResource> seqSelected = selected.get(0).getSeqFiles();
@@ -93,14 +94,16 @@ public class RewriteCompactionFileSelectorTest extends 
MergeTest {
     assertEquals(seqResources, seqSelected);
     assertEquals(unseqResources, unseqSelected);
 
-    selector = new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+    selector =
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     selected = selector.selectCrossSpaceTask(seqResources.subList(0, 1), 
unseqResources);
     seqSelected = selected.get(0).getSeqFiles();
     unseqSelected = selected.get(0).getUnseqFiles();
     assertEquals(seqResources.subList(0, 1), seqSelected);
     assertEquals(unseqResources, unseqSelected);
 
-    selector = new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+    selector =
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     selected = selector.selectCrossSpaceTask(seqResources, 
unseqResources.subList(0, 1));
     seqSelected = selected.get(0).getSeqFiles();
     unseqSelected = selected.get(0).getUnseqFiles();
@@ -113,7 +116,7 @@ public class RewriteCompactionFileSelectorTest extends 
MergeTest {
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
     assertEquals(1, selected.size());
@@ -124,7 +127,7 @@ public class RewriteCompactionFileSelectorTest extends 
MergeTest {
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
     List<TsFileResource> seqSelected = selected.get(0).getSeqFiles();
@@ -182,7 +185,7 @@ public class RewriteCompactionFileSelectorTest extends 
MergeTest {
     List<TsFileResource> newUnseqResources = new ArrayList<>();
     newUnseqResources.add(largeUnseqTsFileResource);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, newUnseqResources);
     assertEquals(0, selected.size());
@@ -271,7 +274,7 @@ public class RewriteCompactionFileSelectorTest extends 
MergeTest {
     CrossSpaceCompactionCandidate resource =
         new CrossSpaceCompactionCandidate(seqResources, unseqResources);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
     assertEquals(2, selected.get(0).getSeqFiles().size());
@@ -334,7 +337,8 @@ public class RewriteCompactionFileSelectorTest extends 
MergeTest {
               29000L * 
IoTDBDescriptor.getInstance().getConfig().getCompactionThreadCount());
       try {
         RewriteCrossSpaceCompactionSelector selector =
-            new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+            new RewriteCrossSpaceCompactionSelector(
+                "", "", 0, null, new CompactionScheduleContext());
         List<CrossCompactionTaskResource> selected =
             selector.selectCrossSpaceTask(seqList, unseqList);
         assertEquals(1, selected.get(0).getSeqFiles().size());
@@ -417,7 +421,7 @@ public class RewriteCompactionFileSelectorTest extends 
MergeTest {
                 * 
IoTDBDescriptor.getInstance().getConfig().getCompactionThreadCount());
     try {
       RewriteCrossSpaceCompactionSelector selector =
-          new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+          new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
       List<CrossCompactionTaskResource> selected =
           selector.selectCrossSpaceTask(seqList, unseqList);
       Assert.assertEquals(1, selected.size());
@@ -490,7 +494,7 @@ public class RewriteCompactionFileSelectorTest extends 
MergeTest {
                 * 
IoTDBDescriptor.getInstance().getConfig().getCompactionThreadCount());
     try {
       RewriteCrossSpaceCompactionSelector selector =
-          new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+          new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
       List<CrossCompactionTaskResource> selected =
           selector.selectCrossSpaceTask(seqList, unseqList);
       Assert.assertEquals(1, selected.size());
@@ -563,7 +567,7 @@ public class RewriteCompactionFileSelectorTest extends 
MergeTest {
                 * 
IoTDBDescriptor.getInstance().getConfig().getCompactionThreadCount());
     try {
       RewriteCrossSpaceCompactionSelector selector =
-          new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+          new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
       List<CrossCompactionTaskResource> selected =
           selector.selectCrossSpaceTask(seqList, unseqList);
       Assert.assertEquals(1, selected.size());
@@ -639,7 +643,7 @@ public class RewriteCompactionFileSelectorTest extends 
MergeTest {
                 * 
IoTDBDescriptor.getInstance().getConfig().getCompactionThreadCount());
     try {
       RewriteCrossSpaceCompactionSelector selector =
-          new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+          new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
       List<CrossCompactionTaskResource> selected =
           selector.selectCrossSpaceTask(seqList, unseqList);
       Assert.assertEquals(1, selected.size());
@@ -718,7 +722,7 @@ public class RewriteCompactionFileSelectorTest extends 
MergeTest {
                 * 
IoTDBDescriptor.getInstance().getConfig().getCompactionThreadCount());
     try {
       RewriteCrossSpaceCompactionSelector selector =
-          new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+          new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
       List<CrossCompactionTaskResource> selected =
           selector.selectCrossSpaceTask(seqList, unseqList);
       Assert.assertEquals(1, selected.size());
@@ -950,7 +954,7 @@ public class RewriteCompactionFileSelectorTest extends 
MergeTest {
                 * 
IoTDBDescriptor.getInstance().getConfig().getCompactionThreadCount());
     try {
       RewriteCrossSpaceCompactionSelector selector =
-          new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+          new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
       List<CrossCompactionTaskResource> selected =
           selector.selectCrossSpaceTask(seqList, unseqList);
       Assert.assertEquals(1, selected.size());
@@ -967,7 +971,7 @@ public class RewriteCompactionFileSelectorTest extends 
MergeTest {
         IoTDBDescriptor.getInstance().getConfig().getFileLimitPerCrossTask();
     IoTDBDescriptor.getInstance().getConfig().setFileLimitPerCrossTask(5);
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
     assertEquals(1, selected.size());
@@ -987,7 +991,7 @@ public class RewriteCompactionFileSelectorTest extends 
MergeTest {
     IoTDBDescriptor.getInstance().getConfig().setFileLimitPerCrossTask(1);
 
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources);
     assertEquals(1, selected.size());
@@ -1002,7 +1006,7 @@ public class RewriteCompactionFileSelectorTest extends 
MergeTest {
   @Test
   public void testDeleteInSelection() throws Exception {
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     AtomicBoolean fail = new AtomicBoolean(false);
     Thread thread1 =
         new Thread(
@@ -1038,7 +1042,7 @@ public class RewriteCompactionFileSelectorTest extends 
MergeTest {
   @Test
   public void testDeleteAndDegradeInSelection() throws Exception {
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     AtomicBoolean fail = new AtomicBoolean(false);
     Thread thread1 =
         new Thread(
@@ -1078,7 +1082,7 @@ public class RewriteCompactionFileSelectorTest extends 
MergeTest {
         .getConfig()
         .setTargetCompactionFileSize(unseqResources.get(5).getTsFileSize());
     RewriteCrossSpaceCompactionSelector selector =
-        new RewriteCrossSpaceCompactionSelector("", "", 0, null);
+        new RewriteCrossSpaceCompactionSelector("", "", 0, null, new 
CompactionScheduleContext());
     List<CrossCompactionTaskResource> selected =
         selector.selectCrossSpaceTask(seqResources, unseqResources.subList(5, 
6));
     Assert.assertEquals(1, selected.size());


Reply via email to