You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by xi...@apache.org on 2022/12/16 12:10:44 UTC

[iotdb] 01/01: change currentNum into CompactionTaskManager

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

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

commit f7a9274f429478d15bdc6372470354f65c79b6da
Author: Jinrui.Zhang <xi...@gmail.com>
AuthorDate: Fri Dec 16 20:10:28 2022 +0800

    change currentNum into CompactionTaskManager
---
 .../db/engine/compaction/CompactionScheduler.java  |  10 +-
 .../engine/compaction/CompactionTaskManager.java   |  14 +++
 .../compaction/cross/CrossSpaceCompactionTask.java |   3 -
 .../compaction/inner/InnerSpaceCompactionTask.java |   3 -
 .../compaction/task/AbstractCompactionTask.java    |   9 +-
 .../db/engine/storagegroup/TsFileManager.java      |   6 --
 .../compaction/CompactionTaskComparatorTest.java   |  31 ++----
 .../compaction/CompactionTaskManagerTest.java      |  26 ++---
 .../compaction/FastAlignedCrossCompactionTest.java |  21 ----
 .../FastInnerCompactionPerformerTest.java          | 113 +++----------------
 .../FastNonAlignedCrossCompactionTest.java         |  21 ----
 .../CrossSpaceCompactionWithFastPerformerTest.java |   4 -
 ...eCompactionWithFastPerformerValidationTest.java | 119 +++++++--------------
 ...sSpaceCompactionWithReadPointPerformerTest.java |   4 -
 ...actionWithReadPointPerformerValidationTest.java | 119 +++++++--------------
 ...eCrossSpaceCompactionWithFastPerformerTest.java |   5 -
 ...sSpaceCompactionWithReadPointPerformerTest.java |   5 -
 .../inner/InnerCompactionEmptyTsFileTest.java      |   2 -
 .../InnerSeqCompactionWithFastPerformerTest.java   |  10 +-
 ...nerSeqCompactionWithReadChunkPerformerTest.java |   2 -
 .../db/engine/storagegroup/DataRegionTest.java     |   2 -
 21 files changed, 134 insertions(+), 395 deletions(-)

diff --git a/server/src/main/java/org/apache/iotdb/db/engine/compaction/CompactionScheduler.java b/server/src/main/java/org/apache/iotdb/db/engine/compaction/CompactionScheduler.java
index aa4eb75f72..f2d1fc7131 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/compaction/CompactionScheduler.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/compaction/CompactionScheduler.java
@@ -108,7 +108,7 @@ public class CompactionScheduler {
             sequence
                 ? tsFileManager.getSequenceListByTimePartition(timePartition)
                 : tsFileManager.getUnsequenceListByTimePartition(timePartition));
-    for (List<TsFileResource> task : taskList) {
+    for (List<TsFileResource> candidateFileList : taskList) {
       ICompactionPerformer performer =
           sequence
               ? IoTDBDescriptor.getInstance()
@@ -124,11 +124,10 @@ public class CompactionScheduler {
               new InnerSpaceCompactionTask(
                   timePartition,
                   tsFileManager,
-                  task,
+                  candidateFileList,
                   sequence,
                   performer,
-                  CompactionTaskManager.currentTaskNum,
-                  tsFileManager.getNextCompactionTaskId()));
+                  CompactionTaskManager.getNextCompactionTaskId()));
     }
   }
 
@@ -162,9 +161,8 @@ public class CompactionScheduler {
                       .getConfig()
                       .getCrossCompactionPerformer()
                       .createInstance(),
-                  CompactionTaskManager.currentTaskNum,
                   memoryCost.get(i),
-                  tsFileManager.getNextCompactionTaskId()));
+                  CompactionTaskManager.getNextCompactionTaskId()));
     }
   }
 }
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/compaction/CompactionTaskManager.java b/server/src/main/java/org/apache/iotdb/db/engine/compaction/CompactionTaskManager.java
index ea7e70805f..1f10c18a08 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/compaction/CompactionTaskManager.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/compaction/CompactionTaskManager.java
@@ -49,6 +49,7 @@ import java.util.concurrent.Future;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
 import java.util.concurrent.atomic.AtomicInteger;
+import java.util.concurrent.atomic.AtomicLong;
 
 /** CompactionMergeTaskPoolManager provides a ThreadPool tPro queue and run all compaction tasks. */
 public class CompactionTaskManager implements IService {
@@ -67,6 +68,7 @@ public class CompactionTaskManager implements IService {
   private WrappedThreadPoolExecutor subCompactionTaskExecutionPool;
 
   public static volatile AtomicInteger currentTaskNum = new AtomicInteger(0);
+  private static final AtomicLong currentCompactionTaskSerialId = new AtomicLong(0);
   private final FixedPriorityBlockingQueue<AbstractCompactionTask> candidateCompactionTaskQueue =
       new FixedPriorityBlockingQueue<>(1024, new DefaultCompactionTaskComparatorImpl());
   // <StorageGroup-DataRegionId,futureSet>, it is used to store all compaction tasks under each
@@ -340,6 +342,18 @@ public class CompactionTaskManager implements IService {
     return finishedTaskNum.get();
   }
 
+  public static void increaseTaskNum() {
+    currentTaskNum.incrementAndGet();
+  }
+
+  public static void decreaseTaskNum() {
+    currentTaskNum.decrementAndGet();
+  }
+
+  public static long getNextCompactionTaskId() {
+    return currentCompactionTaskSerialId.getAndIncrement();
+  }
+
   public void recordTask(AbstractCompactionTask task, Future<CompactionTaskSummary> summary) {
     storageGroupTasks
         .computeIfAbsent(
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionTask.java b/server/src/main/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionTask.java
index 4a555525d3..f77276ce14 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionTask.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionTask.java
@@ -45,7 +45,6 @@ import java.io.File;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
-import java.util.concurrent.atomic.AtomicInteger;
 
 import static org.apache.iotdb.db.engine.compaction.log.CompactionLogger.STR_SOURCE_FILES;
 import static org.apache.iotdb.db.engine.compaction.log.CompactionLogger.STR_TARGET_FILES;
@@ -71,7 +70,6 @@ public class CrossSpaceCompactionTask extends AbstractCompactionTask {
       List<TsFileResource> selectedSequenceFiles,
       List<TsFileResource> selectedUnsequenceFiles,
       ICrossCompactionPerformer performer,
-      AtomicInteger currentTaskNum,
       long memoryCost,
       long serialId) {
     super(
@@ -79,7 +77,6 @@ public class CrossSpaceCompactionTask extends AbstractCompactionTask {
         tsFileManager.getDataRegionId(),
         timePartition,
         tsFileManager,
-        currentTaskNum,
         serialId);
     this.selectedSequenceFiles = selectedSequenceFiles;
     this.selectedUnsequenceFiles = selectedUnsequenceFiles;
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/compaction/inner/InnerSpaceCompactionTask.java b/server/src/main/java/org/apache/iotdb/db/engine/compaction/inner/InnerSpaceCompactionTask.java
index ca78d5d694..49babfc571 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/compaction/inner/InnerSpaceCompactionTask.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/compaction/inner/InnerSpaceCompactionTask.java
@@ -46,7 +46,6 @@ import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
-import java.util.concurrent.atomic.AtomicInteger;
 
 public class InnerSpaceCompactionTask extends AbstractCompactionTask {
   private static final Logger LOGGER =
@@ -71,14 +70,12 @@ public class InnerSpaceCompactionTask extends AbstractCompactionTask {
       List<TsFileResource> selectedTsFileResourceList,
       boolean sequence,
       ICompactionPerformer performer,
-      AtomicInteger currentTaskNum,
       long serialId) {
     super(
         tsFileManager.getStorageGroupName(),
         tsFileManager.getDataRegionId(),
         timePartition,
         tsFileManager,
-        currentTaskNum,
         serialId);
     this.selectedTsFileResourceList = selectedTsFileResourceList;
     this.sequence = sequence;
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/compaction/task/AbstractCompactionTask.java b/server/src/main/java/org/apache/iotdb/db/engine/compaction/task/AbstractCompactionTask.java
index 5b6597b4c6..5644699b7a 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/compaction/task/AbstractCompactionTask.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/compaction/task/AbstractCompactionTask.java
@@ -27,8 +27,6 @@ import org.apache.iotdb.db.engine.storagegroup.TsFileManager;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.util.concurrent.atomic.AtomicInteger;
-
 /**
  * AbstractCompactionTask is the base class for all compaction task, it carries out the execution of
  * compaction. AbstractCompactionTask uses a template method, it executes the abstract function
@@ -42,7 +40,6 @@ public abstract class AbstractCompactionTask {
   protected String dataRegionId;
   protected String storageGroupName;
   protected long timePartition;
-  protected final AtomicInteger currentTaskNum;
   protected final TsFileManager tsFileManager;
   protected ICompactionPerformer performer;
   protected int hashCode = -1;
@@ -54,13 +51,11 @@ public abstract class AbstractCompactionTask {
       String dataRegionId,
       long timePartition,
       TsFileManager tsFileManager,
-      AtomicInteger currentTaskNum,
       long serialId) {
     this.storageGroupName = storageGroupName;
     this.dataRegionId = dataRegionId;
     this.timePartition = timePartition;
     this.tsFileManager = tsFileManager;
-    this.currentTaskNum = currentTaskNum;
     this.serialId = serialId;
   }
 
@@ -69,14 +64,14 @@ public abstract class AbstractCompactionTask {
   protected abstract void doCompaction();
 
   public void start() {
-    currentTaskNum.incrementAndGet();
+    CompactionTaskManager.increaseTaskNum();
     boolean isSuccess = false;
     try {
       summary.start();
       doCompaction();
       isSuccess = true;
     } finally {
-      this.currentTaskNum.decrementAndGet();
+      CompactionTaskManager.decreaseTaskNum();
       summary.finish(isSuccess);
       CompactionTaskManager.getInstance().removeRunningTaskFuture(this);
     }
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileManager.java b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileManager.java
index c44bbabbff..d4e21f37f4 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileManager.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileManager.java
@@ -36,7 +36,6 @@ import java.util.Map;
 import java.util.Set;
 import java.util.TreeMap;
 import java.util.concurrent.TimeUnit;
-import java.util.concurrent.atomic.AtomicLong;
 import java.util.concurrent.locks.ReadWriteLock;
 import java.util.concurrent.locks.ReentrantReadWriteLock;
 
@@ -61,7 +60,6 @@ public class TsFileManager {
   private List<TsFileResource> unsequenceRecoverTsFileResources = new ArrayList<>();
 
   private boolean allowCompaction = true;
-  private AtomicLong currentCompactionTaskSerialId = new AtomicLong(0);
 
   public TsFileManager(String storageGroupName, String dataRegionId, String storageGroupDir) {
     this.storageGroupName = storageGroupName;
@@ -433,10 +431,6 @@ public class TsFileManager {
     }
   }
 
-  public long getNextCompactionTaskId() {
-    return currentCompactionTaskSerialId.getAndIncrement();
-  }
-
   public boolean hasNextTimePartition(long timePartition, boolean sequence) {
     try {
       return sequence
diff --git a/server/src/test/java/org/apache/iotdb/db/engine/compaction/CompactionTaskComparatorTest.java b/server/src/test/java/org/apache/iotdb/db/engine/compaction/CompactionTaskComparatorTest.java
index a5397ca341..7fd7717053 100644
--- a/server/src/test/java/org/apache/iotdb/db/engine/compaction/CompactionTaskComparatorTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/engine/compaction/CompactionTaskComparatorTest.java
@@ -50,7 +50,6 @@ import static org.junit.Assert.assertTrue;
 
 public class CompactionTaskComparatorTest {
   private final Logger LOGGER = LoggerFactory.getLogger(CompactionTaskComparatorTest.class);
-  private final AtomicInteger taskNum = new AtomicInteger(0);
   private FixedPriorityBlockingQueue<AbstractCompactionTask> compactionTaskQueue =
       new FixedPriorityBlockingQueue<>(1024, new DefaultCompactionTaskComparatorImpl());
   private TsFileManager tsFileManager = new TsFileManager("fakeSg", "0", "/");
@@ -76,8 +75,7 @@ public class CompactionTaskComparatorTest {
             new FakedTsFileResource(new File(String.format("%d-%d-0-0.tsfile", i + j, i + j)), j));
       }
       compactionTasks[i] =
-          new FakedInnerSpaceCompactionTask(
-              "fakeSg", 0, tsFileManager, taskNum, true, resources, 0);
+          new FakedInnerSpaceCompactionTask("fakeSg", 0, tsFileManager, true, resources, 0);
       compactionTaskQueue.put(compactionTasks[i]);
     }
 
@@ -99,8 +97,7 @@ public class CompactionTaskComparatorTest {
                 new File(String.format("%d-%d-0-0.tsfile", i + j, i + j)), j - i + 101));
       }
       compactionTasks[i] =
-          new FakedInnerSpaceCompactionTask(
-              "fakeSg", 0, tsFileManager, taskNum, true, resources, 0);
+          new FakedInnerSpaceCompactionTask("fakeSg", 0, tsFileManager, true, resources, 0);
       compactionTaskQueue.put(compactionTasks[i]);
     }
 
@@ -122,8 +119,7 @@ public class CompactionTaskComparatorTest {
                 new File(String.format("%d-%d-%d-0.tsfile", i + j, i + j, j - i + 101)), 1));
       }
       compactionTasks[i] =
-          new FakedInnerSpaceCompactionTask(
-              "fakeSg", 0, tsFileManager, taskNum, true, resources, 0);
+          new FakedInnerSpaceCompactionTask("fakeSg", 0, tsFileManager, true, resources, 0);
       compactionTaskQueue.put(compactionTasks[i]);
     }
 
@@ -148,8 +144,7 @@ public class CompactionTaskComparatorTest {
                 new File(String.format("%d-%d-%d-0.tsfile", i + j, i + j, j - i + 101)), 1));
       }
       compactionTasks[i] =
-          new FakedInnerSpaceCompactionTask(
-              "fakeSg", 0, tsFileManager, taskNum, true, resources, 0);
+          new FakedInnerSpaceCompactionTask("fakeSg", 0, tsFileManager, true, resources, 0);
       limitQueue.add(compactionTasks[i]);
     }
 
@@ -171,8 +166,7 @@ public class CompactionTaskComparatorTest {
                 new File(String.format("%d-%d-0-0.tsfile", i + j, i + j, j - i + 101)), 1));
       }
       compactionTasks[i] =
-          new FakedInnerSpaceCompactionTask(
-              "fakeSg", 0, tsFileManager, taskNum, true, resources, 0);
+          new FakedInnerSpaceCompactionTask("fakeSg", 0, tsFileManager, true, resources, 0);
       compactionTaskQueue.put(compactionTasks[i]);
     }
 
@@ -195,8 +189,7 @@ public class CompactionTaskComparatorTest {
             new FakedTsFileResource(new File(String.format("%d-%d-0-0.tsfile", i + j, i + j)), j));
       }
       innerCompactionTasks[i] =
-          new FakedInnerSpaceCompactionTask(
-              "fakeSg", 0, tsFileManager, taskNum, true, resources, 0);
+          new FakedInnerSpaceCompactionTask("fakeSg", 0, tsFileManager, true, resources, 0);
     }
 
     for (int i = 0; i < 100; ++i) {
@@ -212,7 +205,7 @@ public class CompactionTaskComparatorTest {
       }
       crossCompactionTasks[i] =
           new FakeCrossSpaceCompactionTask(
-              "fakeSg", 0, tsFileManager, taskNum, sequenceResources, unsequenceResources, 0);
+              "fakeSg", 0, tsFileManager, sequenceResources, unsequenceResources, 0);
     }
 
     for (int i = 0; i < 100; i++) {
@@ -249,7 +242,7 @@ public class CompactionTaskComparatorTest {
       }
       crossCompactionTasks[i] =
           new FakeCrossSpaceCompactionTask(
-              "fakeSg", 0, tsFileManager, taskNum, sequenceResources, unsequenceResources, 0);
+              "fakeSg", 0, tsFileManager, sequenceResources, unsequenceResources, 0);
       compactionTaskQueue.put(crossCompactionTasks[i]);
     }
     for (int i = 100; i < 200; ++i) {
@@ -265,7 +258,7 @@ public class CompactionTaskComparatorTest {
       }
       crossCompactionTasks[i] =
           new FakeCrossSpaceCompactionTask(
-              "fakeSg", 0, tsFileManager, taskNum, sequenceResources, unsequenceResources, 0);
+              "fakeSg", 0, tsFileManager, sequenceResources, unsequenceResources, 0);
       compactionTaskQueue.put(crossCompactionTasks[i]);
     }
 
@@ -291,7 +284,7 @@ public class CompactionTaskComparatorTest {
         }
         compactionTaskQueue.put(
             new FakedInnerSpaceCompactionTask(
-                "fakeSg" + i, 0, tsFileManagers[i], taskNum, true, resources, j));
+                "fakeSg" + i, 0, tsFileManagers[i], true, resources, j));
       }
     }
     Map<String, AtomicInteger> taskCount = new HashMap<>();
@@ -320,7 +313,6 @@ public class CompactionTaskComparatorTest {
         String storageGroupName,
         long timePartition,
         TsFileManager tsFileManager,
-        AtomicInteger currentTaskNum,
         boolean sequence,
         List<TsFileResource> selectedTsFileResourceList,
         long serialId) {
@@ -330,7 +322,6 @@ public class CompactionTaskComparatorTest {
           selectedTsFileResourceList,
           sequence,
           new FastCompactionPerformer(false),
-          currentTaskNum,
           serialId);
     }
 
@@ -354,7 +345,6 @@ public class CompactionTaskComparatorTest {
         String fullStorageGroupName,
         long timePartition,
         TsFileManager tsFileManager,
-        AtomicInteger currentTaskNum,
         List<TsFileResource> selectedSequenceFiles,
         List<TsFileResource> selectedUnsequenceFiles,
         long serialId) {
@@ -364,7 +354,6 @@ public class CompactionTaskComparatorTest {
           selectedSequenceFiles,
           selectedUnsequenceFiles,
           new ReadPointCompactionPerformer(),
-          currentTaskNum,
           0,
           serialId);
     }
diff --git a/server/src/test/java/org/apache/iotdb/db/engine/compaction/CompactionTaskManagerTest.java b/server/src/test/java/org/apache/iotdb/db/engine/compaction/CompactionTaskManagerTest.java
index f19a4fd697..46c86c6e9b 100644
--- a/server/src/test/java/org/apache/iotdb/db/engine/compaction/CompactionTaskManagerTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/engine/compaction/CompactionTaskManagerTest.java
@@ -42,7 +42,6 @@ import java.io.File;
 import java.io.IOException;
 import java.util.List;
 import java.util.concurrent.Future;
-import java.util.concurrent.atomic.AtomicInteger;
 
 public class CompactionTaskManagerTest extends InnerCompactionTest {
   static final Logger logger = LoggerFactory.getLogger(CompactionTaskManagerTest.class);
@@ -77,11 +76,9 @@ public class CompactionTaskManagerTest extends InnerCompactionTest {
         new TsFileManager("root.compactionTest", "0", tempSGDir.getAbsolutePath());
     tsFileManager.addAll(seqResources, true);
     InnerSpaceCompactionTask task1 =
-        new InnerSpaceCompactionTask(
-            0, tsFileManager, seqResources, true, performer, new AtomicInteger(0), 0);
+        new InnerSpaceCompactionTask(0, tsFileManager, seqResources, true, performer, 0);
     InnerSpaceCompactionTask task2 =
-        new InnerSpaceCompactionTask(
-            0, tsFileManager, seqResources, true, performer, new AtomicInteger(0), 0);
+        new InnerSpaceCompactionTask(0, tsFileManager, seqResources, true, performer, 0);
     seqResources.get(0).readLock();
     CompactionTaskManager manager = CompactionTaskManager.getInstance();
     Future<CompactionTaskSummary> summaryFuture = null;
@@ -121,11 +118,9 @@ public class CompactionTaskManagerTest extends InnerCompactionTest {
         new TsFileManager("root.compactionTest", "0", tempSGDir.getAbsolutePath());
     tsFileManager.addAll(seqResources, true);
     InnerSpaceCompactionTask task1 =
-        new InnerSpaceCompactionTask(
-            0, tsFileManager, seqResources, true, performer, new AtomicInteger(0), 0);
+        new InnerSpaceCompactionTask(0, tsFileManager, seqResources, true, performer, 0);
     InnerSpaceCompactionTask task2 =
-        new InnerSpaceCompactionTask(
-            0, tsFileManager, seqResources, true, performer, new AtomicInteger(0), 0);
+        new InnerSpaceCompactionTask(0, tsFileManager, seqResources, true, performer, 0);
     seqResources.get(0).readLock();
     Future<CompactionTaskSummary> summaryFuture = null;
     try {
@@ -163,11 +158,9 @@ public class CompactionTaskManagerTest extends InnerCompactionTest {
         new TsFileManager("root.compactionTest", "0", tempSGDir.getAbsolutePath());
     tsFileManager.addAll(seqResources, true);
     InnerSpaceCompactionTask task1 =
-        new InnerSpaceCompactionTask(
-            0, tsFileManager, seqResources, true, performer, new AtomicInteger(0), 0);
+        new InnerSpaceCompactionTask(0, tsFileManager, seqResources, true, performer, 0);
     InnerSpaceCompactionTask task2 =
-        new InnerSpaceCompactionTask(
-            0, tsFileManager, seqResources, true, performer, new AtomicInteger(0), 0);
+        new InnerSpaceCompactionTask(0, tsFileManager, seqResources, true, performer, 0);
     CompactionTaskManager manager = CompactionTaskManager.getInstance();
     seqResources.get(0).readLock();
     Assert.assertTrue(manager.addTaskToWaitingQueue(task1));
@@ -191,8 +184,7 @@ public class CompactionTaskManagerTest extends InnerCompactionTest {
         new TsFileManager("root.compactionTest", "0", tempSGDir.getAbsolutePath());
     tsFileManager.addAll(seqResources, true);
     InnerSpaceCompactionTask task1 =
-        new InnerSpaceCompactionTask(
-            0, tsFileManager, seqResources, true, performer, new AtomicInteger(0), 0);
+        new InnerSpaceCompactionTask(0, tsFileManager, seqResources, true, performer, 0);
     CompactionTaskManager manager = CompactionTaskManager.getInstance();
     manager.restart();
     seqResources.get(0).readLock();
@@ -221,8 +213,7 @@ public class CompactionTaskManagerTest extends InnerCompactionTest {
         new TsFileManager("root.compactionTest", "0", tempSGDir.getAbsolutePath());
     tsFileManager.addAll(seqResources, true);
     InnerSpaceCompactionTask task =
-        new InnerSpaceCompactionTask(
-            0, tsFileManager, seqResources, true, performer, new AtomicInteger(0), 0);
+        new InnerSpaceCompactionTask(0, tsFileManager, seqResources, true, performer, 0);
     seqResources.get(0).readLock();
     CompactionTaskManager.getInstance().addTaskToWaitingQueue(task);
 
@@ -252,7 +243,6 @@ public class CompactionTaskManagerTest extends InnerCompactionTest {
             seqResources,
             unseqResources,
             new FastCompactionPerformer(true),
-            new AtomicInteger(0),
             0,
             0);
 
diff --git a/server/src/test/java/org/apache/iotdb/db/engine/compaction/FastAlignedCrossCompactionTest.java b/server/src/test/java/org/apache/iotdb/db/engine/compaction/FastAlignedCrossCompactionTest.java
index e363730929..802f05cd0f 100644
--- a/server/src/test/java/org/apache/iotdb/db/engine/compaction/FastAlignedCrossCompactionTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/engine/compaction/FastAlignedCrossCompactionTest.java
@@ -45,7 +45,6 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
-import java.util.concurrent.atomic.AtomicInteger;
 
 import static org.apache.iotdb.db.engine.compaction.utils.TsFileGeneratorUtils.createChunkWriter;
 import static org.apache.iotdb.db.engine.compaction.utils.TsFileGeneratorUtils.createDataType;
@@ -236,7 +235,6 @@ public class FastAlignedCrossCompactionTest extends AbstractCompactionTest {
             seqResources,
             unseqResources,
             new FastCompactionPerformer(true),
-            new AtomicInteger(0),
             0,
             0);
     task.start();
@@ -475,7 +473,6 @@ public class FastAlignedCrossCompactionTest extends AbstractCompactionTest {
             seqResources,
             unseqResources,
             new FastCompactionPerformer(true),
-            new AtomicInteger(0),
             0,
             0);
     task.start();
@@ -713,7 +710,6 @@ public class FastAlignedCrossCompactionTest extends AbstractCompactionTest {
             seqResources,
             unseqResources,
             new FastCompactionPerformer(true),
-            new AtomicInteger(0),
             0,
             0);
     task.start();
@@ -968,7 +964,6 @@ public class FastAlignedCrossCompactionTest extends AbstractCompactionTest {
             seqResources,
             unseqResources,
             new FastCompactionPerformer(true),
-            new AtomicInteger(0),
             0,
             0);
     task.start();
@@ -1316,7 +1311,6 @@ public class FastAlignedCrossCompactionTest extends AbstractCompactionTest {
             seqResources,
             unseqResources,
             new FastCompactionPerformer(true),
-            new AtomicInteger(0),
             0,
             0);
     task.start();
@@ -1672,7 +1666,6 @@ public class FastAlignedCrossCompactionTest extends AbstractCompactionTest {
             seqResources,
             unseqResources,
             new FastCompactionPerformer(true),
-            new AtomicInteger(0),
             0,
             0);
     task.start();
@@ -2038,7 +2031,6 @@ public class FastAlignedCrossCompactionTest extends AbstractCompactionTest {
             seqResources,
             unseqResources,
             new FastCompactionPerformer(true),
-            new AtomicInteger(0),
             0,
             0);
     task.start();
@@ -2388,7 +2380,6 @@ public class FastAlignedCrossCompactionTest extends AbstractCompactionTest {
             seqResources,
             unseqResources,
             new FastCompactionPerformer(true),
-            new AtomicInteger(0),
             0,
             0);
     task.start();
@@ -2739,7 +2730,6 @@ public class FastAlignedCrossCompactionTest extends AbstractCompactionTest {
             seqResources,
             unseqResources,
             new FastCompactionPerformer(true),
-            new AtomicInteger(0),
             0,
             0);
     task.start();
@@ -3101,7 +3091,6 @@ public class FastAlignedCrossCompactionTest extends AbstractCompactionTest {
             seqResources,
             unseqResources,
             new FastCompactionPerformer(true),
-            new AtomicInteger(0),
             0,
             0);
     task.start();
@@ -3514,7 +3503,6 @@ public class FastAlignedCrossCompactionTest extends AbstractCompactionTest {
             seqResources,
             unseqResources,
             new FastCompactionPerformer(true),
-            new AtomicInteger(0),
             0,
             0);
     task.start();
@@ -3930,7 +3918,6 @@ public class FastAlignedCrossCompactionTest extends AbstractCompactionTest {
             seqResources,
             unseqResources,
             new FastCompactionPerformer(true),
-            new AtomicInteger(0),
             0,
             0);
     task.start();
@@ -4346,7 +4333,6 @@ public class FastAlignedCrossCompactionTest extends AbstractCompactionTest {
             seqResources,
             unseqResources,
             new FastCompactionPerformer(true),
-            new AtomicInteger(0),
             0,
             0);
     task.start();
@@ -4811,7 +4797,6 @@ public class FastAlignedCrossCompactionTest extends AbstractCompactionTest {
             seqResources,
             unseqResources,
             new FastCompactionPerformer(true),
-            new AtomicInteger(0),
             0,
             0);
     task.start();
@@ -5224,7 +5209,6 @@ public class FastAlignedCrossCompactionTest extends AbstractCompactionTest {
             seqResources,
             unseqResources,
             new FastCompactionPerformer(true),
-            new AtomicInteger(0),
             0,
             0);
     task.start();
@@ -5430,7 +5414,6 @@ public class FastAlignedCrossCompactionTest extends AbstractCompactionTest {
             seqResources,
             unseqResources,
             new FastCompactionPerformer(true),
-            new AtomicInteger(0),
             0,
             0);
     task.start();
@@ -5695,7 +5678,6 @@ public class FastAlignedCrossCompactionTest extends AbstractCompactionTest {
             seqResources,
             unseqResources,
             new FastCompactionPerformer(true),
-            new AtomicInteger(0),
             0,
             0);
     task.start();
@@ -6078,7 +6060,6 @@ public class FastAlignedCrossCompactionTest extends AbstractCompactionTest {
             seqResources,
             unseqResources,
             new FastCompactionPerformer(true),
-            new AtomicInteger(0),
             0,
             0);
     task.start();
@@ -6429,7 +6410,6 @@ public class FastAlignedCrossCompactionTest extends AbstractCompactionTest {
             seqResources,
             unseqResources,
             new FastCompactionPerformer(true),
-            new AtomicInteger(0),
             0,
             0);
     task.start();
@@ -6668,7 +6648,6 @@ public class FastAlignedCrossCompactionTest extends AbstractCompactionTest {
             seqResources,
             unseqResources,
             new FastCompactionPerformer(true),
-            new AtomicInteger(0),
             0,
             0);
     task.start();
diff --git a/server/src/test/java/org/apache/iotdb/db/engine/compaction/FastInnerCompactionPerformerTest.java b/server/src/test/java/org/apache/iotdb/db/engine/compaction/FastInnerCompactionPerformerTest.java
index 8bb4839ae4..d94395ca29 100644
--- a/server/src/test/java/org/apache/iotdb/db/engine/compaction/FastInnerCompactionPerformerTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/engine/compaction/FastInnerCompactionPerformerTest.java
@@ -54,7 +54,6 @@ import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.concurrent.atomic.AtomicInteger;
 
 import static org.apache.iotdb.commons.conf.IoTDBConstant.PATH_SEPARATOR;
 import static org.junit.Assert.assertEquals;
@@ -120,13 +119,7 @@ public class FastInnerCompactionPerformerTest extends AbstractCompactionTest {
     tsFileManager.addAll(unseqResources, false);
     InnerSpaceCompactionTask task =
         new InnerSpaceCompactionTask(
-            0,
-            tsFileManager,
-            seqResources,
-            true,
-            new FastCompactionPerformer(false),
-            new AtomicInteger(0),
-            0);
+            0, tsFileManager, seqResources, true, new FastCompactionPerformer(false), 0);
     task.start();
 
     validateSeqFiles(true);
@@ -217,13 +210,7 @@ public class FastInnerCompactionPerformerTest extends AbstractCompactionTest {
     tsFileManager.addAll(unseqResources, false);
     InnerSpaceCompactionTask task =
         new InnerSpaceCompactionTask(
-            0,
-            tsFileManager,
-            seqResources,
-            true,
-            new FastCompactionPerformer(false),
-            new AtomicInteger(0),
-            0);
+            0, tsFileManager, seqResources, true, new FastCompactionPerformer(false), 0);
     task.start();
     List<TsFileResource> targetResources = tsFileManager.getTsFileList(true);
     validateSeqFiles(true);
@@ -330,13 +317,7 @@ public class FastInnerCompactionPerformerTest extends AbstractCompactionTest {
     tsFileManager.addAll(unseqResources, false);
     InnerSpaceCompactionTask task =
         new InnerSpaceCompactionTask(
-            0,
-            tsFileManager,
-            unseqResources,
-            false,
-            new FastCompactionPerformer(false),
-            new AtomicInteger(0),
-            0);
+            0, tsFileManager, unseqResources, false, new FastCompactionPerformer(false), 0);
     task.start();
     List<TsFileResource> targetResources = tsFileManager.getTsFileList(false);
     validateSeqFiles(false);
@@ -444,13 +425,7 @@ public class FastInnerCompactionPerformerTest extends AbstractCompactionTest {
     tsFileManager.addAll(unseqResources, false);
     InnerSpaceCompactionTask task =
         new InnerSpaceCompactionTask(
-            0,
-            tsFileManager,
-            unseqResources,
-            false,
-            new FastCompactionPerformer(false),
-            new AtomicInteger(0),
-            0);
+            0, tsFileManager, unseqResources, false, new FastCompactionPerformer(false), 0);
     task.start();
     validateSeqFiles(true);
 
@@ -589,13 +564,7 @@ public class FastInnerCompactionPerformerTest extends AbstractCompactionTest {
     tsFileManager.addAll(unseqResources, false);
     InnerSpaceCompactionTask task =
         new InnerSpaceCompactionTask(
-            0,
-            tsFileManager,
-            unseqResources,
-            false,
-            new FastCompactionPerformer(false),
-            new AtomicInteger(0),
-            0);
+            0, tsFileManager, unseqResources, false, new FastCompactionPerformer(false), 0);
     task.start();
     validateSeqFiles(false);
 
@@ -723,13 +692,7 @@ public class FastInnerCompactionPerformerTest extends AbstractCompactionTest {
     tsFileManager.addAll(unseqResources, false);
     InnerSpaceCompactionTask task =
         new InnerSpaceCompactionTask(
-            0,
-            tsFileManager,
-            unseqResources,
-            false,
-            new FastCompactionPerformer(false),
-            new AtomicInteger(0),
-            0);
+            0, tsFileManager, unseqResources, false, new FastCompactionPerformer(false), 0);
     task.start();
     validateSeqFiles(false);
 
@@ -843,13 +806,7 @@ public class FastInnerCompactionPerformerTest extends AbstractCompactionTest {
     tsFileManager.addAll(unseqResources, false);
     InnerSpaceCompactionTask task =
         new InnerSpaceCompactionTask(
-            0,
-            tsFileManager,
-            unseqResources,
-            false,
-            new FastCompactionPerformer(false),
-            new AtomicInteger(0),
-            0);
+            0, tsFileManager, unseqResources, false, new FastCompactionPerformer(false), 0);
     task.start();
     validateSeqFiles(true);
 
@@ -933,13 +890,7 @@ public class FastInnerCompactionPerformerTest extends AbstractCompactionTest {
     tsFileManager.addAll(unseqResources, false);
     InnerSpaceCompactionTask task =
         new InnerSpaceCompactionTask(
-            0,
-            tsFileManager,
-            seqResources,
-            true,
-            new FastCompactionPerformer(false),
-            new AtomicInteger(0),
-            0);
+            0, tsFileManager, seqResources, true, new FastCompactionPerformer(false), 0);
     task.start();
     List<TsFileResource> targetResources = tsFileManager.getTsFileList(true);
     validateSeqFiles(true);
@@ -1052,13 +1003,7 @@ public class FastInnerCompactionPerformerTest extends AbstractCompactionTest {
     tsFileManager.addAll(unseqResources, false);
     InnerSpaceCompactionTask task =
         new InnerSpaceCompactionTask(
-            0,
-            tsFileManager,
-            seqResources,
-            true,
-            new FastCompactionPerformer(false),
-            new AtomicInteger(0),
-            0);
+            0, tsFileManager, seqResources, true, new FastCompactionPerformer(false), 0);
     task.start();
     validateSeqFiles(true);
 
@@ -1180,13 +1125,7 @@ public class FastInnerCompactionPerformerTest extends AbstractCompactionTest {
     tsFileManager.addAll(unseqResources, false);
     InnerSpaceCompactionTask task =
         new InnerSpaceCompactionTask(
-            0,
-            tsFileManager,
-            seqResources,
-            true,
-            new FastCompactionPerformer(false),
-            new AtomicInteger(0),
-            0);
+            0, tsFileManager, seqResources, true, new FastCompactionPerformer(false), 0);
     task.start();
     validateSeqFiles(true);
 
@@ -1313,13 +1252,7 @@ public class FastInnerCompactionPerformerTest extends AbstractCompactionTest {
     tsFileManager.addAll(unseqResources, false);
     InnerSpaceCompactionTask task =
         new InnerSpaceCompactionTask(
-            0,
-            tsFileManager,
-            unseqResources,
-            false,
-            new FastCompactionPerformer(false),
-            new AtomicInteger(0),
-            0);
+            0, tsFileManager, unseqResources, false, new FastCompactionPerformer(false), 0);
     task.start();
     validateSeqFiles(false);
 
@@ -1496,13 +1429,7 @@ public class FastInnerCompactionPerformerTest extends AbstractCompactionTest {
     tsFileManager.addAll(unseqResources, false);
     InnerSpaceCompactionTask task =
         new InnerSpaceCompactionTask(
-            0,
-            tsFileManager,
-            unseqResources,
-            false,
-            new FastCompactionPerformer(false),
-            new AtomicInteger(0),
-            0);
+            0, tsFileManager, unseqResources, false, new FastCompactionPerformer(false), 0);
     task.start();
     validateSeqFiles(false);
 
@@ -1659,13 +1586,7 @@ public class FastInnerCompactionPerformerTest extends AbstractCompactionTest {
     tsFileManager.addAll(unseqResources, false);
     InnerSpaceCompactionTask task =
         new InnerSpaceCompactionTask(
-            0,
-            tsFileManager,
-            unseqResources,
-            false,
-            new FastCompactionPerformer(false),
-            new AtomicInteger(0),
-            0);
+            0, tsFileManager, unseqResources, false, new FastCompactionPerformer(false), 0);
     task.start();
     validateSeqFiles(false);
 
@@ -1774,13 +1695,7 @@ public class FastInnerCompactionPerformerTest extends AbstractCompactionTest {
     tsFileManager.addAll(unseqResources, false);
     InnerSpaceCompactionTask task =
         new InnerSpaceCompactionTask(
-            0,
-            tsFileManager,
-            unseqResources,
-            false,
-            new FastCompactionPerformer(false),
-            new AtomicInteger(0),
-            0);
+            0, tsFileManager, unseqResources, false, new FastCompactionPerformer(false), 0);
     task.start();
     validateSeqFiles(false);
 
diff --git a/server/src/test/java/org/apache/iotdb/db/engine/compaction/FastNonAlignedCrossCompactionTest.java b/server/src/test/java/org/apache/iotdb/db/engine/compaction/FastNonAlignedCrossCompactionTest.java
index b58ca6c3fa..ed304c7964 100644
--- a/server/src/test/java/org/apache/iotdb/db/engine/compaction/FastNonAlignedCrossCompactionTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/engine/compaction/FastNonAlignedCrossCompactionTest.java
@@ -45,7 +45,6 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
-import java.util.concurrent.atomic.AtomicInteger;
 
 import static org.apache.iotdb.db.engine.compaction.utils.TsFileGeneratorUtils.createChunkWriter;
 import static org.apache.iotdb.db.engine.compaction.utils.TsFileGeneratorUtils.createDataType;
@@ -252,7 +251,6 @@ public class FastNonAlignedCrossCompactionTest extends AbstractCompactionTest {
             seqResources,
             unseqResources,
             new FastCompactionPerformer(true),
-            new AtomicInteger(0),
             0,
             0);
     task.start();
@@ -487,7 +485,6 @@ public class FastNonAlignedCrossCompactionTest extends AbstractCompactionTest {
             seqResources,
             unseqResources,
             new FastCompactionPerformer(true),
-            new AtomicInteger(0),
             0,
             0);
     task.start();
@@ -721,7 +718,6 @@ public class FastNonAlignedCrossCompactionTest extends AbstractCompactionTest {
             seqResources,
             unseqResources,
             new FastCompactionPerformer(true),
-            new AtomicInteger(0),
             0,
             0);
     task.start();
@@ -973,7 +969,6 @@ public class FastNonAlignedCrossCompactionTest extends AbstractCompactionTest {
             seqResources,
             unseqResources,
             new FastCompactionPerformer(true),
-            new AtomicInteger(0),
             0,
             0);
     task.start();
@@ -1318,7 +1313,6 @@ public class FastNonAlignedCrossCompactionTest extends AbstractCompactionTest {
             seqResources,
             unseqResources,
             new FastCompactionPerformer(true),
-            new AtomicInteger(0),
             0,
             0);
     task.start();
@@ -1670,7 +1664,6 @@ public class FastNonAlignedCrossCompactionTest extends AbstractCompactionTest {
             seqResources,
             unseqResources,
             new FastCompactionPerformer(true),
-            new AtomicInteger(0),
             0,
             0);
     task.start();
@@ -2032,7 +2025,6 @@ public class FastNonAlignedCrossCompactionTest extends AbstractCompactionTest {
             seqResources,
             unseqResources,
             new FastCompactionPerformer(true),
-            new AtomicInteger(0),
             0,
             0);
     task.start();
@@ -2379,7 +2371,6 @@ public class FastNonAlignedCrossCompactionTest extends AbstractCompactionTest {
             seqResources,
             unseqResources,
             new FastCompactionPerformer(true),
-            new AtomicInteger(0),
             0,
             0);
     task.start();
@@ -2727,7 +2718,6 @@ public class FastNonAlignedCrossCompactionTest extends AbstractCompactionTest {
             seqResources,
             unseqResources,
             new FastCompactionPerformer(true),
-            new AtomicInteger(0),
             0,
             0);
     task.start();
@@ -3085,7 +3075,6 @@ public class FastNonAlignedCrossCompactionTest extends AbstractCompactionTest {
             seqResources,
             unseqResources,
             new FastCompactionPerformer(true),
-            new AtomicInteger(0),
             0,
             0);
     task.start();
@@ -3495,7 +3484,6 @@ public class FastNonAlignedCrossCompactionTest extends AbstractCompactionTest {
             seqResources,
             unseqResources,
             new FastCompactionPerformer(true),
-            new AtomicInteger(0),
             0,
             0);
     task.start();
@@ -3908,7 +3896,6 @@ public class FastNonAlignedCrossCompactionTest extends AbstractCompactionTest {
             seqResources,
             unseqResources,
             new FastCompactionPerformer(true),
-            new AtomicInteger(0),
             0,
             0);
     task.start();
@@ -4321,7 +4308,6 @@ public class FastNonAlignedCrossCompactionTest extends AbstractCompactionTest {
             seqResources,
             unseqResources,
             new FastCompactionPerformer(true),
-            new AtomicInteger(0),
             0,
             0);
     task.start();
@@ -4783,7 +4769,6 @@ public class FastNonAlignedCrossCompactionTest extends AbstractCompactionTest {
             seqResources,
             unseqResources,
             new FastCompactionPerformer(true),
-            new AtomicInteger(0),
             0,
             0);
     task.start();
@@ -5193,7 +5178,6 @@ public class FastNonAlignedCrossCompactionTest extends AbstractCompactionTest {
             seqResources,
             unseqResources,
             new FastCompactionPerformer(true),
-            new AtomicInteger(0),
             0,
             0);
     task.start();
@@ -5399,7 +5383,6 @@ public class FastNonAlignedCrossCompactionTest extends AbstractCompactionTest {
             seqResources,
             unseqResources,
             new FastCompactionPerformer(true),
-            new AtomicInteger(0),
             0,
             0);
     task.start();
@@ -5664,7 +5647,6 @@ public class FastNonAlignedCrossCompactionTest extends AbstractCompactionTest {
             seqResources,
             unseqResources,
             new FastCompactionPerformer(true),
-            new AtomicInteger(0),
             0,
             0);
     task.start();
@@ -6047,7 +6029,6 @@ public class FastNonAlignedCrossCompactionTest extends AbstractCompactionTest {
             seqResources,
             unseqResources,
             new FastCompactionPerformer(true),
-            new AtomicInteger(0),
             0,
             0);
     task.start();
@@ -6395,7 +6376,6 @@ public class FastNonAlignedCrossCompactionTest extends AbstractCompactionTest {
             seqResources,
             unseqResources,
             new FastCompactionPerformer(true),
-            new AtomicInteger(0),
             0,
             0);
     task.start();
@@ -6634,7 +6614,6 @@ public class FastNonAlignedCrossCompactionTest extends AbstractCompactionTest {
             seqResources,
             unseqResources,
             new FastCompactionPerformer(true),
-            new AtomicInteger(0),
             0,
             0);
     task.start();
diff --git a/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionWithFastPerformerTest.java b/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionWithFastPerformerTest.java
index da850a691a..d117d4ad73 100644
--- a/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionWithFastPerformerTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionWithFastPerformerTest.java
@@ -56,7 +56,6 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
-import java.util.concurrent.atomic.AtomicInteger;
 
 import static org.junit.Assert.fail;
 
@@ -422,7 +421,6 @@ public class CrossSpaceCompactionWithFastPerformerTest {
                     mergeResource.getSeqFiles(),
                     mergeResource.getUnseqFiles(),
                     new FastCompactionPerformer(true),
-                    new AtomicInteger(0),
                     0,
                     0);
             compactionTask.start();
@@ -726,7 +724,6 @@ public class CrossSpaceCompactionWithFastPerformerTest {
                     mergeResource.getSeqFiles(),
                     mergeResource.getUnseqFiles(),
                     new FastCompactionPerformer(true),
-                    new AtomicInteger(0),
                     0,
                     0);
             compactionTask.start();
@@ -1029,7 +1026,6 @@ public class CrossSpaceCompactionWithFastPerformerTest {
                     mergeResource.getSeqFiles(),
                     mergeResource.getUnseqFiles(),
                     new FastCompactionPerformer(true),
-                    new AtomicInteger(0),
                     0,
                     0);
             compactionTask.start();
diff --git a/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionWithFastPerformerValidationTest.java b/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionWithFastPerformerValidationTest.java
index e19bd0a11f..e0fd2e47ff 100644
--- a/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionWithFastPerformerValidationTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionWithFastPerformerValidationTest.java
@@ -22,6 +22,7 @@ package org.apache.iotdb.db.engine.compaction.cross;
 import org.apache.iotdb.commons.exception.MetadataException;
 import org.apache.iotdb.db.conf.IoTDBDescriptor;
 import org.apache.iotdb.db.engine.compaction.AbstractCompactionTest;
+import org.apache.iotdb.db.engine.compaction.CompactionTaskManager;
 import org.apache.iotdb.db.engine.compaction.cross.rewrite.CrossSpaceCompactionResource;
 import org.apache.iotdb.db.engine.compaction.cross.rewrite.RewriteCrossSpaceCompactionSelector;
 import org.apache.iotdb.db.engine.compaction.performer.ICrossCompactionPerformer;
@@ -44,7 +45,6 @@ import org.junit.Test;
 
 import java.io.IOException;
 import java.util.List;
-import java.util.concurrent.atomic.AtomicInteger;
 
 public class CrossSpaceCompactionWithFastPerformerValidationTest extends AbstractCompactionTest {
   TsFileManager tsFileManager =
@@ -104,9 +104,8 @@ public class CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -149,9 +148,8 @@ public class CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -194,9 +192,8 @@ public class CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -247,9 +244,8 @@ public class CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -297,9 +293,8 @@ public class CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -345,9 +340,8 @@ public class CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -396,9 +390,8 @@ public class CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -446,9 +439,8 @@ public class CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -496,9 +488,8 @@ public class CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -547,9 +538,8 @@ public class CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -598,9 +588,8 @@ public class CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -649,9 +638,8 @@ public class CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -701,9 +689,8 @@ public class CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -754,9 +741,8 @@ public class CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -807,9 +793,8 @@ public class CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -861,9 +846,8 @@ public class CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -916,9 +900,8 @@ public class CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -971,9 +954,8 @@ public class CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -1026,9 +1008,8 @@ public class CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -1081,9 +1062,8 @@ public class CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -1135,9 +1115,8 @@ public class CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -1185,9 +1164,8 @@ public class CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -1236,9 +1214,8 @@ public class CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -1287,9 +1264,8 @@ public class CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -1338,9 +1314,8 @@ public class CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -1390,9 +1365,8 @@ public class CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -1443,9 +1417,8 @@ public class CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -1496,9 +1469,8 @@ public class CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -1550,9 +1522,8 @@ public class CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -1605,9 +1576,8 @@ public class CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -1660,9 +1630,8 @@ public class CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -1715,9 +1684,8 @@ public class CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -1770,9 +1738,8 @@ public class CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -1824,9 +1791,8 @@ public class CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -1876,9 +1842,8 @@ public class CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -1924,9 +1889,8 @@ public class CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -1977,9 +1941,8 @@ public class CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -2031,9 +1994,8 @@ public class CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -2085,9 +2047,8 @@ public class CrossSpaceCompactionWithFastPerformerValidationTest extends Abstrac
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
diff --git a/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionWithReadPointPerformerTest.java b/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionWithReadPointPerformerTest.java
index 594c312f6e..57d21f8d6f 100644
--- a/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionWithReadPointPerformerTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionWithReadPointPerformerTest.java
@@ -56,7 +56,6 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
-import java.util.concurrent.atomic.AtomicInteger;
 
 import static org.junit.Assert.fail;
 
@@ -422,7 +421,6 @@ public class CrossSpaceCompactionWithReadPointPerformerTest {
                     mergeResource.getSeqFiles(),
                     mergeResource.getUnseqFiles(),
                     new ReadPointCompactionPerformer(),
-                    new AtomicInteger(0),
                     0,
                     0);
             compactionTask.start();
@@ -726,7 +724,6 @@ public class CrossSpaceCompactionWithReadPointPerformerTest {
                     mergeResource.getSeqFiles(),
                     mergeResource.getUnseqFiles(),
                     new ReadPointCompactionPerformer(),
-                    new AtomicInteger(0),
                     0,
                     0);
             compactionTask.start();
@@ -1029,7 +1026,6 @@ public class CrossSpaceCompactionWithReadPointPerformerTest {
                     mergeResource.getSeqFiles(),
                     mergeResource.getUnseqFiles(),
                     new ReadPointCompactionPerformer(),
-                    new AtomicInteger(0),
                     0,
                     0);
             compactionTask.start();
diff --git a/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionWithReadPointPerformerValidationTest.java b/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionWithReadPointPerformerValidationTest.java
index 0ab3b3f411..5b4cc4205e 100644
--- a/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionWithReadPointPerformerValidationTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionWithReadPointPerformerValidationTest.java
@@ -22,6 +22,7 @@ package org.apache.iotdb.db.engine.compaction.cross;
 import org.apache.iotdb.commons.exception.MetadataException;
 import org.apache.iotdb.db.conf.IoTDBDescriptor;
 import org.apache.iotdb.db.engine.compaction.AbstractCompactionTest;
+import org.apache.iotdb.db.engine.compaction.CompactionTaskManager;
 import org.apache.iotdb.db.engine.compaction.CompactionUtils;
 import org.apache.iotdb.db.engine.compaction.cross.rewrite.CrossSpaceCompactionResource;
 import org.apache.iotdb.db.engine.compaction.cross.rewrite.RewriteCrossSpaceCompactionSelector;
@@ -50,7 +51,6 @@ import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
-import java.util.concurrent.atomic.AtomicInteger;
 
 public class CrossSpaceCompactionWithReadPointPerformerValidationTest
     extends AbstractCompactionTest {
@@ -111,9 +111,8 @@ public class CrossSpaceCompactionWithReadPointPerformerValidationTest
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -156,9 +155,8 @@ public class CrossSpaceCompactionWithReadPointPerformerValidationTest
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -201,9 +199,8 @@ public class CrossSpaceCompactionWithReadPointPerformerValidationTest
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -254,9 +251,8 @@ public class CrossSpaceCompactionWithReadPointPerformerValidationTest
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -304,9 +300,8 @@ public class CrossSpaceCompactionWithReadPointPerformerValidationTest
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -352,9 +347,8 @@ public class CrossSpaceCompactionWithReadPointPerformerValidationTest
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -403,9 +397,8 @@ public class CrossSpaceCompactionWithReadPointPerformerValidationTest
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -453,9 +446,8 @@ public class CrossSpaceCompactionWithReadPointPerformerValidationTest
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -503,9 +495,8 @@ public class CrossSpaceCompactionWithReadPointPerformerValidationTest
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -554,9 +545,8 @@ public class CrossSpaceCompactionWithReadPointPerformerValidationTest
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -605,9 +595,8 @@ public class CrossSpaceCompactionWithReadPointPerformerValidationTest
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -656,9 +645,8 @@ public class CrossSpaceCompactionWithReadPointPerformerValidationTest
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -708,9 +696,8 @@ public class CrossSpaceCompactionWithReadPointPerformerValidationTest
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -761,9 +748,8 @@ public class CrossSpaceCompactionWithReadPointPerformerValidationTest
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -814,9 +800,8 @@ public class CrossSpaceCompactionWithReadPointPerformerValidationTest
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -868,9 +853,8 @@ public class CrossSpaceCompactionWithReadPointPerformerValidationTest
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -923,9 +907,8 @@ public class CrossSpaceCompactionWithReadPointPerformerValidationTest
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -978,9 +961,8 @@ public class CrossSpaceCompactionWithReadPointPerformerValidationTest
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -1033,9 +1015,8 @@ public class CrossSpaceCompactionWithReadPointPerformerValidationTest
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -1088,9 +1069,8 @@ public class CrossSpaceCompactionWithReadPointPerformerValidationTest
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -1142,9 +1122,8 @@ public class CrossSpaceCompactionWithReadPointPerformerValidationTest
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -1192,9 +1171,8 @@ public class CrossSpaceCompactionWithReadPointPerformerValidationTest
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -1243,9 +1221,8 @@ public class CrossSpaceCompactionWithReadPointPerformerValidationTest
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -1294,9 +1271,8 @@ public class CrossSpaceCompactionWithReadPointPerformerValidationTest
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -1345,9 +1321,8 @@ public class CrossSpaceCompactionWithReadPointPerformerValidationTest
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -1397,9 +1372,8 @@ public class CrossSpaceCompactionWithReadPointPerformerValidationTest
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -1450,9 +1424,8 @@ public class CrossSpaceCompactionWithReadPointPerformerValidationTest
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -1503,9 +1476,8 @@ public class CrossSpaceCompactionWithReadPointPerformerValidationTest
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -1557,9 +1529,8 @@ public class CrossSpaceCompactionWithReadPointPerformerValidationTest
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -1612,9 +1583,8 @@ public class CrossSpaceCompactionWithReadPointPerformerValidationTest
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -1667,9 +1637,8 @@ public class CrossSpaceCompactionWithReadPointPerformerValidationTest
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -1722,9 +1691,8 @@ public class CrossSpaceCompactionWithReadPointPerformerValidationTest
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -1777,9 +1745,8 @@ public class CrossSpaceCompactionWithReadPointPerformerValidationTest
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -1831,9 +1798,8 @@ public class CrossSpaceCompactionWithReadPointPerformerValidationTest
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -1883,9 +1849,8 @@ public class CrossSpaceCompactionWithReadPointPerformerValidationTest
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -1931,9 +1896,8 @@ public class CrossSpaceCompactionWithReadPointPerformerValidationTest
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -1984,9 +1948,8 @@ public class CrossSpaceCompactionWithReadPointPerformerValidationTest
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -2038,9 +2001,8 @@ public class CrossSpaceCompactionWithReadPointPerformerValidationTest
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
@@ -2092,9 +2054,8 @@ public class CrossSpaceCompactionWithReadPointPerformerValidationTest
             selected.get(0).left,
             selected.get(0).right,
             performer,
-            new AtomicInteger(0),
             0,
-            tsFileManager.getNextCompactionTaskId())
+            CompactionTaskManager.getNextCompactionTaskId())
         .doCompaction();
 
     validateSeqFiles(true);
diff --git a/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/RewriteCrossSpaceCompactionWithFastPerformerTest.java b/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/RewriteCrossSpaceCompactionWithFastPerformerTest.java
index d6abe8ff14..383aca7b0f 100644
--- a/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/RewriteCrossSpaceCompactionWithFastPerformerTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/RewriteCrossSpaceCompactionWithFastPerformerTest.java
@@ -61,7 +61,6 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.atomic.AtomicInteger;
 
 import static org.apache.iotdb.commons.conf.IoTDBConstant.CROSS_COMPACTION_TMP_FILE_SUFFIX;
 import static org.apache.iotdb.commons.conf.IoTDBConstant.PATH_SEPARATOR;
@@ -230,7 +229,6 @@ public class RewriteCrossSpaceCompactionWithFastPerformerTest extends AbstractCo
             seqResources,
             unseqResources,
             new FastCompactionPerformer(true),
-            new AtomicInteger(0),
             0,
             0);
     task.start();
@@ -468,7 +466,6 @@ public class RewriteCrossSpaceCompactionWithFastPerformerTest extends AbstractCo
             seqResources,
             unseqResources,
             new FastCompactionPerformer(true),
-            new AtomicInteger(0),
             0,
             0);
     task.start();
@@ -616,7 +613,6 @@ public class RewriteCrossSpaceCompactionWithFastPerformerTest extends AbstractCo
             seqResources,
             unseqResources,
             new FastCompactionPerformer(true),
-            new AtomicInteger(0),
             0,
             0);
     task.setSourceFilesToCompactionCandidate();
@@ -737,7 +733,6 @@ public class RewriteCrossSpaceCompactionWithFastPerformerTest extends AbstractCo
             seqResources,
             unseqResources,
             new FastCompactionPerformer(true),
-            new AtomicInteger(0),
             0,
             0);
     task.setSourceFilesToCompactionCandidate();
diff --git a/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/RewriteCrossSpaceCompactionWithReadPointPerformerTest.java b/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/RewriteCrossSpaceCompactionWithReadPointPerformerTest.java
index 0693e6ebfa..88c8a6f2c5 100644
--- a/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/RewriteCrossSpaceCompactionWithReadPointPerformerTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/RewriteCrossSpaceCompactionWithReadPointPerformerTest.java
@@ -61,7 +61,6 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.atomic.AtomicInteger;
 
 import static org.apache.iotdb.commons.conf.IoTDBConstant.CROSS_COMPACTION_TMP_FILE_SUFFIX;
 import static org.apache.iotdb.commons.conf.IoTDBConstant.PATH_SEPARATOR;
@@ -230,7 +229,6 @@ public class RewriteCrossSpaceCompactionWithReadPointPerformerTest extends Abstr
             seqResources,
             unseqResources,
             new ReadPointCompactionPerformer(),
-            new AtomicInteger(0),
             0,
             0);
     task.start();
@@ -468,7 +466,6 @@ public class RewriteCrossSpaceCompactionWithReadPointPerformerTest extends Abstr
             seqResources,
             unseqResources,
             new ReadPointCompactionPerformer(),
-            new AtomicInteger(0),
             0,
             0);
     task.start();
@@ -616,7 +613,6 @@ public class RewriteCrossSpaceCompactionWithReadPointPerformerTest extends Abstr
             seqResources,
             unseqResources,
             new ReadPointCompactionPerformer(),
-            new AtomicInteger(0),
             0,
             0);
     task.setSourceFilesToCompactionCandidate();
@@ -737,7 +733,6 @@ public class RewriteCrossSpaceCompactionWithReadPointPerformerTest extends Abstr
             seqResources,
             unseqResources,
             new ReadPointCompactionPerformer(),
-            new AtomicInteger(0),
             0,
             0);
     task.setSourceFilesToCompactionCandidate();
diff --git a/server/src/test/java/org/apache/iotdb/db/engine/compaction/inner/InnerCompactionEmptyTsFileTest.java b/server/src/test/java/org/apache/iotdb/db/engine/compaction/inner/InnerCompactionEmptyTsFileTest.java
index c8e299cdf7..c98d843b45 100644
--- a/server/src/test/java/org/apache/iotdb/db/engine/compaction/inner/InnerCompactionEmptyTsFileTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/engine/compaction/inner/InnerCompactionEmptyTsFileTest.java
@@ -36,7 +36,6 @@ import org.junit.Test;
 import java.io.File;
 import java.io.IOException;
 import java.util.concurrent.Future;
-import java.util.concurrent.atomic.AtomicInteger;
 
 public class InnerCompactionEmptyTsFileTest extends InnerCompactionTest {
 
@@ -83,7 +82,6 @@ public class InnerCompactionEmptyTsFileTest extends InnerCompactionTest {
             unseqResources.subList(0, 3),
             false,
             new ReadPointCompactionPerformer(),
-            new AtomicInteger(0),
             0);
     unseqResources.get(0).readLock();
     CompactionTaskManager.getInstance().addTaskToWaitingQueue(task);
diff --git a/server/src/test/java/org/apache/iotdb/db/engine/compaction/inner/InnerSeqCompactionWithFastPerformerTest.java b/server/src/test/java/org/apache/iotdb/db/engine/compaction/inner/InnerSeqCompactionWithFastPerformerTest.java
index c0caba2c12..b1a28c7d41 100644
--- a/server/src/test/java/org/apache/iotdb/db/engine/compaction/inner/InnerSeqCompactionWithFastPerformerTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/engine/compaction/inner/InnerSeqCompactionWithFastPerformerTest.java
@@ -64,7 +64,6 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.ExecutionException;
-import java.util.concurrent.atomic.AtomicInteger;
 
 import static org.apache.iotdb.db.engine.compaction.utils.CompactionCheckerUtils.putChunk;
 import static org.apache.iotdb.db.engine.compaction.utils.CompactionCheckerUtils.putOnePageChunk;
@@ -1045,13 +1044,8 @@ public class InnerSeqCompactionWithFastPerformerTest {
     ICompactionPerformer performer = new FastCompactionPerformer(false);
     InnerSpaceCompactionTask task =
         new InnerSpaceCompactionTask(
-            0,
-            vsgp.getTsFileResourceManager(),
-            sourceResources,
-            true,
-            performer,
-            new AtomicInteger(0),
-            0);
+            0, vsgp.getTsFileResourceManager(), sourceResources, true, performer, 0);
+
     task.setSourceFilesToCompactionCandidate();
     task.checkValidAndSetMerging();
     // delete data during compaction
diff --git a/server/src/test/java/org/apache/iotdb/db/engine/compaction/inner/InnerSeqCompactionWithReadChunkPerformerTest.java b/server/src/test/java/org/apache/iotdb/db/engine/compaction/inner/InnerSeqCompactionWithReadChunkPerformerTest.java
index 66b15be38d..118dbeb202 100644
--- a/server/src/test/java/org/apache/iotdb/db/engine/compaction/inner/InnerSeqCompactionWithReadChunkPerformerTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/engine/compaction/inner/InnerSeqCompactionWithReadChunkPerformerTest.java
@@ -63,7 +63,6 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.ExecutionException;
-import java.util.concurrent.atomic.AtomicInteger;
 
 import static org.apache.iotdb.db.engine.compaction.utils.CompactionCheckerUtils.putChunk;
 import static org.apache.iotdb.db.engine.compaction.utils.CompactionCheckerUtils.putOnePageChunk;
@@ -1017,7 +1016,6 @@ public class InnerSeqCompactionWithReadChunkPerformerTest {
             sourceResources,
             true,
             new ReadChunkCompactionPerformer(),
-            new AtomicInteger(0),
             0);
     task.setSourceFilesToCompactionCandidate();
     task.checkValidAndSetMerging();
diff --git a/server/src/test/java/org/apache/iotdb/db/engine/storagegroup/DataRegionTest.java b/server/src/test/java/org/apache/iotdb/db/engine/storagegroup/DataRegionTest.java
index 5b93a3345f..72b9929fba 100644
--- a/server/src/test/java/org/apache/iotdb/db/engine/storagegroup/DataRegionTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/engine/storagegroup/DataRegionTest.java
@@ -72,7 +72,6 @@ import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
-import java.util.concurrent.atomic.AtomicInteger;
 
 public class DataRegionTest {
   private static final IoTDBConfig config = IoTDBDescriptor.getInstance().getConfig();
@@ -817,7 +816,6 @@ public class DataRegionTest {
               dataRegion.getSequenceFileList(),
               true,
               performer,
-              new AtomicInteger(0),
               0);
       CompactionTaskManager.getInstance().addTaskToWaitingQueue(task);
       Thread.sleep(20);