Fix compaction ut dead lock (#12372)
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/utils/CompactionTaskQueueTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/utils/CompactionTaskQueueTest.java
index e53d41b..db24107 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/utils/CompactionTaskQueueTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/utils/CompactionTaskQueueTest.java
@@ -26,7 +26,6 @@
import org.apache.iotdb.db.storageengine.dataregion.compaction.execute.task.InnerSpaceCompactionTask;
import org.apache.iotdb.db.storageengine.dataregion.compaction.schedule.CompactionTaskQueue;
import org.apache.iotdb.db.storageengine.dataregion.compaction.schedule.comparator.DefaultCompactionTaskComparatorImpl;
-import org.apache.iotdb.db.storageengine.dataregion.tsfile.TsFileResource;
import org.apache.iotdb.db.storageengine.dataregion.tsfile.TsFileResourceStatus;
import org.apache.iotdb.db.storageengine.rescon.memory.SystemInfo;
import org.apache.iotdb.tsfile.exception.write.WriteProcessException;
@@ -39,6 +38,7 @@
import java.io.IOException;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
@@ -168,14 +168,14 @@
private AbstractCompactionTask prepareTask(long memCost, int fileNum, long timePartition)
throws IOException, MetadataException, WriteProcessException {
createFiles(1, 1, 1, 1, 1, 1, 1, 1, true, true);
- for (TsFileResource seqResource : seqResources) {
- seqResource.setStatusForTest(TsFileResourceStatus.COMPACTION_CANDIDATE);
- }
+ seqResources
+ .get(seqResources.size() - 1)
+ .setStatusForTest(TsFileResourceStatus.COMPACTION_CANDIDATE);
InnerSpaceCompactionTask task =
new InnerSpaceCompactionTask(
timePartition,
tsFileManager,
- seqResources,
+ Collections.singletonList(seqResources.get(seqResources.size() - 1)),
true,
new ReadChunkCompactionPerformer(),
0);