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:43 UTC

[iotdb] branch compaction_refine created (now f7a9274f42)

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

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


      at f7a9274f42 change currentNum into CompactionTaskManager

This branch includes the following new commits:

     new f7a9274f42 change currentNum into CompactionTaskManager

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[iotdb] 01/01: change currentNum into CompactionTaskManager

Posted by xi...@apache.org.
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);