You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ma...@apache.org on 2022/12/06 07:07:34 UTC
[iotdb] branch master updated: add uts of fast compaction performer (#8346)
This is an automated email from the ASF dual-hosted git repository.
marklau99 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/master by this push:
new 64ed75f500 add uts of fast compaction performer (#8346)
64ed75f500 is described below
commit 64ed75f500d7dc0676c9f92d29f2ba3baed86934
Author: 周沛辰 <45...@users.noreply.github.com>
AuthorDate: Tue Dec 6 15:07:27 2022 +0800
add uts of fast compaction performer (#8346)
---
...CrossSpaceCompactionWithFastPerformerTest.java} | 19 +-
...CompactionWithFastPerformerValidationTest.java} | 252 ++++-----------------
...SpaceCompactionWithReadPointPerformerTest.java} | 19 +-
...ctionWithReadPointPerformerValidationTest.java} | 202 ++++-------------
...CrossSpaceCompactionWithFastPerformerTest.java} | 2 +-
...SpaceCompactionWithReadPointPerformerTest.java} | 12 +-
.../utils/MultiTsFileDeviceIteratorTest.java | 75 ++++++
7 files changed, 181 insertions(+), 400 deletions(-)
diff --git a/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionTest.java b/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionWithFastPerformerTest.java
similarity index 98%
copy from server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionTest.java
copy to server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionWithFastPerformerTest.java
index be3f273092..da850a691a 100644
--- a/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionWithFastPerformerTest.java
@@ -20,13 +20,13 @@
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.cache.BloomFilterCache;
import org.apache.iotdb.db.engine.cache.ChunkCache;
import org.apache.iotdb.db.engine.cache.TimeSeriesMetadataCache;
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.impl.FastCompactionPerformer;
import org.apache.iotdb.db.engine.compaction.task.AbstractCompactionTask;
import org.apache.iotdb.db.engine.compaction.utils.CompactionCheckerUtils;
import org.apache.iotdb.db.engine.compaction.utils.CompactionClearUtils;
@@ -60,7 +60,7 @@ import java.util.concurrent.atomic.AtomicInteger;
import static org.junit.Assert.fail;
-public class CrossSpaceCompactionTest {
+public class CrossSpaceCompactionWithFastPerformerTest {
private final String oldThreadName = Thread.currentThread().getName();
int index = 0;
@@ -421,10 +421,7 @@ public class CrossSpaceCompactionTest {
"target\\data\\sequence\\test\\root.compactionTest\\0\\0\\"),
mergeResource.getSeqFiles(),
mergeResource.getUnseqFiles(),
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ new FastCompactionPerformer(true),
new AtomicInteger(0),
0,
0);
@@ -728,10 +725,7 @@ public class CrossSpaceCompactionTest {
"target\\data\\sequence\\test\\root.compactionTest\\0\\0\\"),
mergeResource.getSeqFiles(),
mergeResource.getUnseqFiles(),
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ new FastCompactionPerformer(true),
new AtomicInteger(0),
0,
0);
@@ -1034,10 +1028,7 @@ public class CrossSpaceCompactionTest {
"target\\data\\sequence\\test\\root.compactionTest\\0\\0\\"),
mergeResource.getSeqFiles(),
mergeResource.getUnseqFiles(),
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ new FastCompactionPerformer(true),
new AtomicInteger(0),
0,
0);
diff --git a/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionValidationTest.java b/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionWithFastPerformerValidationTest.java
similarity index 91%
copy from server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionValidationTest.java
copy to server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionWithFastPerformerValidationTest.java
index 4cbef2a710..e19bd0a11f 100644
--- a/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionValidationTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionWithFastPerformerValidationTest.java
@@ -22,12 +22,10 @@ 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.CompactionUtils;
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.impl.ReadChunkCompactionPerformer;
-import org.apache.iotdb.db.engine.compaction.task.CompactionTaskSummary;
-import org.apache.iotdb.db.engine.compaction.utils.CompactionFileGeneratorUtils;
+import org.apache.iotdb.db.engine.compaction.performer.ICrossCompactionPerformer;
+import org.apache.iotdb.db.engine.compaction.performer.impl.FastCompactionPerformer;
import org.apache.iotdb.db.engine.storagegroup.TsFileManager;
import org.apache.iotdb.db.engine.storagegroup.TsFileResource;
import org.apache.iotdb.db.engine.storagegroup.TsFileResourceStatus;
@@ -45,17 +43,17 @@ import org.junit.Before;
import org.junit.Test;
import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
import java.util.concurrent.atomic.AtomicInteger;
-public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
+public class CrossSpaceCompactionWithFastPerformerValidationTest extends AbstractCompactionTest {
TsFileManager tsFileManager =
new TsFileManager(COMPACTION_TEST_SG, "0", STORAGE_GROUP_DIR.getPath());
private final String oldThreadName = Thread.currentThread().getName();
+ private ICrossCompactionPerformer performer = new FastCompactionPerformer(true);
+
@Before
public void setUp()
throws IOException, WriteProcessException, MetadataException, InterruptedException {
@@ -105,10 +103,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -153,10 +148,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -201,10 +193,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -257,10 +246,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -310,10 +296,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -361,10 +344,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -415,10 +395,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -468,10 +445,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -521,10 +495,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -575,10 +546,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -629,10 +597,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -683,10 +648,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -738,10 +700,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -794,10 +753,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -850,10 +806,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -907,10 +860,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -965,10 +915,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -1023,10 +970,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -1081,10 +1025,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -1139,10 +1080,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -1196,10 +1134,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -1249,10 +1184,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -1303,10 +1235,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -1357,10 +1286,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -1411,10 +1337,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -1466,10 +1389,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -1522,10 +1442,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -1578,10 +1495,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -1635,10 +1549,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -1693,10 +1604,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -1751,10 +1659,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -1809,10 +1714,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -1867,10 +1769,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -1924,10 +1823,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -1979,10 +1875,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -2030,10 +1923,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -2086,10 +1976,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -2143,10 +2030,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -2200,10 +2084,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -2211,49 +2092,4 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
validateSeqFiles(true);
}
-
- /**
- * Cross space compaction select 1, 2, 3, 4, 5 seq file, but file 3 and 4 are being compacted and
- * being deleted by other inner compaction task. Cross space compaction selector should abort this
- * task.
- */
- @Test
- public void testSelectingFilesWhenSomeFilesBeingDeleted()
- throws MetadataException, IOException, WriteProcessException, StorageEngineException,
- InterruptedException, MergeException {
- registerTimeseriesInMManger(5, 10, true);
- createFiles(5, 10, 5, 1000, 0, 0, 100, 100, false, true);
- createFiles(1, 5, 10, 4500, 500, 500, 0, 100, false, false);
- tsFileManager.addAll(seqResources, true);
- tsFileManager.addAll(unseqResources, false);
-
- // seq file 3 and 4 are being compacted by inner space compaction
- List<TsFileResource> sourceFiles = new ArrayList<>();
- sourceFiles.add(seqResources.get(2));
- sourceFiles.add(seqResources.get(3));
- List<TsFileResource> targetResources =
- CompactionFileGeneratorUtils.getInnerCompactionTargetTsFileResources(sourceFiles, true);
- ReadChunkCompactionPerformer performer = new ReadChunkCompactionPerformer(sourceFiles);
- performer.setTargetFiles(targetResources);
- performer.setSummary(new CompactionTaskSummary());
- performer.perform();
-
- CompactionUtils.moveTargetFile(targetResources, true, COMPACTION_TEST_SG + "-" + "0");
- CompactionUtils.combineModsInInnerCompaction(sourceFiles, targetResources.get(0));
- tsFileManager.replace(sourceFiles, Collections.emptyList(), targetResources, 0, true);
- CompactionUtils.deleteTsFilesInDisk(sourceFiles, COMPACTION_TEST_SG + "-" + "0");
-
- // start selecting files and then start a cross space compaction task
- ICrossSpaceSelector selector =
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionSelector()
- .createInstance(COMPACTION_TEST_SG, "0", 0, tsFileManager);
- // In the process of getting the file list and starting to select files, the file list is
- // updated (the file is deleted or the status is updated)
- List<Pair<List<TsFileResource>, List<TsFileResource>>> selected =
- selector.selectCrossSpaceTask(seqResources, unseqResources);
-
- Assert.assertEquals(0, selected.size());
- }
}
diff --git a/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionTest.java b/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionWithReadPointPerformerTest.java
similarity index 98%
rename from server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionTest.java
rename to server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionWithReadPointPerformerTest.java
index be3f273092..594c312f6e 100644
--- a/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionWithReadPointPerformerTest.java
@@ -20,13 +20,13 @@
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.cache.BloomFilterCache;
import org.apache.iotdb.db.engine.cache.ChunkCache;
import org.apache.iotdb.db.engine.cache.TimeSeriesMetadataCache;
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.impl.ReadPointCompactionPerformer;
import org.apache.iotdb.db.engine.compaction.task.AbstractCompactionTask;
import org.apache.iotdb.db.engine.compaction.utils.CompactionCheckerUtils;
import org.apache.iotdb.db.engine.compaction.utils.CompactionClearUtils;
@@ -60,7 +60,7 @@ import java.util.concurrent.atomic.AtomicInteger;
import static org.junit.Assert.fail;
-public class CrossSpaceCompactionTest {
+public class CrossSpaceCompactionWithReadPointPerformerTest {
private final String oldThreadName = Thread.currentThread().getName();
int index = 0;
@@ -421,10 +421,7 @@ public class CrossSpaceCompactionTest {
"target\\data\\sequence\\test\\root.compactionTest\\0\\0\\"),
mergeResource.getSeqFiles(),
mergeResource.getUnseqFiles(),
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ new ReadPointCompactionPerformer(),
new AtomicInteger(0),
0,
0);
@@ -728,10 +725,7 @@ public class CrossSpaceCompactionTest {
"target\\data\\sequence\\test\\root.compactionTest\\0\\0\\"),
mergeResource.getSeqFiles(),
mergeResource.getUnseqFiles(),
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ new ReadPointCompactionPerformer(),
new AtomicInteger(0),
0,
0);
@@ -1034,10 +1028,7 @@ public class CrossSpaceCompactionTest {
"target\\data\\sequence\\test\\root.compactionTest\\0\\0\\"),
mergeResource.getSeqFiles(),
mergeResource.getUnseqFiles(),
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ new ReadPointCompactionPerformer(),
new AtomicInteger(0),
0,
0);
diff --git a/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionValidationTest.java b/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionWithReadPointPerformerValidationTest.java
similarity index 93%
rename from server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionValidationTest.java
rename to server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionWithReadPointPerformerValidationTest.java
index 4cbef2a710..0ab3b3f411 100644
--- a/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionValidationTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionWithReadPointPerformerValidationTest.java
@@ -25,7 +25,9 @@ import org.apache.iotdb.db.engine.compaction.AbstractCompactionTest;
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;
+import org.apache.iotdb.db.engine.compaction.performer.ICrossCompactionPerformer;
import org.apache.iotdb.db.engine.compaction.performer.impl.ReadChunkCompactionPerformer;
+import org.apache.iotdb.db.engine.compaction.performer.impl.ReadPointCompactionPerformer;
import org.apache.iotdb.db.engine.compaction.task.CompactionTaskSummary;
import org.apache.iotdb.db.engine.compaction.utils.CompactionFileGeneratorUtils;
import org.apache.iotdb.db.engine.storagegroup.TsFileManager;
@@ -50,12 +52,15 @@ import java.util.Collections;
import java.util.List;
import java.util.concurrent.atomic.AtomicInteger;
-public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
+public class CrossSpaceCompactionWithReadPointPerformerValidationTest
+ extends AbstractCompactionTest {
TsFileManager tsFileManager =
new TsFileManager(COMPACTION_TEST_SG, "0", STORAGE_GROUP_DIR.getPath());
private final String oldThreadName = Thread.currentThread().getName();
+ private ICrossCompactionPerformer performer = new ReadPointCompactionPerformer();
+
@Before
public void setUp()
throws IOException, WriteProcessException, MetadataException, InterruptedException {
@@ -105,10 +110,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -153,10 +155,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -201,10 +200,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -257,10 +253,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -310,10 +303,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -361,10 +351,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -415,10 +402,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -468,10 +452,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -521,10 +502,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -575,10 +553,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -629,10 +604,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -683,10 +655,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -738,10 +707,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -794,10 +760,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -850,10 +813,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -907,10 +867,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -965,10 +922,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -1023,10 +977,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -1081,10 +1032,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -1139,10 +1087,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -1196,10 +1141,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -1249,10 +1191,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -1303,10 +1242,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -1357,10 +1293,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -1411,10 +1344,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -1466,10 +1396,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -1522,10 +1449,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -1578,10 +1502,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -1635,10 +1556,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -1693,10 +1611,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -1751,10 +1666,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -1809,10 +1721,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -1867,10 +1776,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -1924,10 +1830,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -1979,10 +1882,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -2030,10 +1930,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -2086,10 +1983,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -2143,10 +2037,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
@@ -2200,10 +2091,7 @@ public class CrossSpaceCompactionValidationTest extends AbstractCompactionTest {
tsFileManager,
selected.get(0).left,
selected.get(0).right,
- IoTDBDescriptor.getInstance()
- .getConfig()
- .getCrossCompactionPerformer()
- .createInstance(),
+ performer,
new AtomicInteger(0),
0,
tsFileManager.getNextCompactionTaskId())
diff --git a/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/RewriteCrossSpaceCompactionTest.java b/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/RewriteCrossSpaceCompactionWithFastPerformerTest.java
similarity index 99%
copy from server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/RewriteCrossSpaceCompactionTest.java
copy to server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/RewriteCrossSpaceCompactionWithFastPerformerTest.java
index 8a35b9f965..d6abe8ff14 100644
--- a/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/RewriteCrossSpaceCompactionTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/RewriteCrossSpaceCompactionWithFastPerformerTest.java
@@ -67,7 +67,7 @@ import static org.apache.iotdb.commons.conf.IoTDBConstant.CROSS_COMPACTION_TMP_F
import static org.apache.iotdb.commons.conf.IoTDBConstant.PATH_SEPARATOR;
import static org.junit.Assert.assertEquals;
-public class RewriteCrossSpaceCompactionTest extends AbstractCompactionTest {
+public class RewriteCrossSpaceCompactionWithFastPerformerTest extends AbstractCompactionTest {
private final String oldThreadName = Thread.currentThread().getName();
diff --git a/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/RewriteCrossSpaceCompactionTest.java b/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/RewriteCrossSpaceCompactionWithReadPointPerformerTest.java
similarity index 98%
rename from server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/RewriteCrossSpaceCompactionTest.java
rename to server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/RewriteCrossSpaceCompactionWithReadPointPerformerTest.java
index 8a35b9f965..0693e6ebfa 100644
--- a/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/RewriteCrossSpaceCompactionTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/RewriteCrossSpaceCompactionWithReadPointPerformerTest.java
@@ -24,7 +24,7 @@ import org.apache.iotdb.commons.path.AlignedPath;
import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.engine.compaction.AbstractCompactionTest;
-import org.apache.iotdb.db.engine.compaction.performer.impl.FastCompactionPerformer;
+import org.apache.iotdb.db.engine.compaction.performer.impl.ReadPointCompactionPerformer;
import org.apache.iotdb.db.engine.compaction.utils.CompactionFileGeneratorUtils;
import org.apache.iotdb.db.engine.flush.TsFileFlushPolicy;
import org.apache.iotdb.db.engine.storagegroup.DataRegion;
@@ -67,7 +67,7 @@ import static org.apache.iotdb.commons.conf.IoTDBConstant.CROSS_COMPACTION_TMP_F
import static org.apache.iotdb.commons.conf.IoTDBConstant.PATH_SEPARATOR;
import static org.junit.Assert.assertEquals;
-public class RewriteCrossSpaceCompactionTest extends AbstractCompactionTest {
+public class RewriteCrossSpaceCompactionWithReadPointPerformerTest extends AbstractCompactionTest {
private final String oldThreadName = Thread.currentThread().getName();
@@ -229,7 +229,7 @@ public class RewriteCrossSpaceCompactionTest extends AbstractCompactionTest {
tsFileManager,
seqResources,
unseqResources,
- new FastCompactionPerformer(true),
+ new ReadPointCompactionPerformer(),
new AtomicInteger(0),
0,
0);
@@ -467,7 +467,7 @@ public class RewriteCrossSpaceCompactionTest extends AbstractCompactionTest {
tsFileManager,
seqResources,
unseqResources,
- new FastCompactionPerformer(true),
+ new ReadPointCompactionPerformer(),
new AtomicInteger(0),
0,
0);
@@ -615,7 +615,7 @@ public class RewriteCrossSpaceCompactionTest extends AbstractCompactionTest {
vsgp.getTsFileResourceManager(),
seqResources,
unseqResources,
- new FastCompactionPerformer(true),
+ new ReadPointCompactionPerformer(),
new AtomicInteger(0),
0,
0);
@@ -736,7 +736,7 @@ public class RewriteCrossSpaceCompactionTest extends AbstractCompactionTest {
vsgp.getTsFileResourceManager(),
seqResources,
unseqResources,
- new FastCompactionPerformer(true),
+ new ReadPointCompactionPerformer(),
new AtomicInteger(0),
0,
0);
diff --git a/server/src/test/java/org/apache/iotdb/db/engine/compaction/utils/MultiTsFileDeviceIteratorTest.java b/server/src/test/java/org/apache/iotdb/db/engine/compaction/utils/MultiTsFileDeviceIteratorTest.java
index 0e699da1e2..b72f39af06 100644
--- a/server/src/test/java/org/apache/iotdb/db/engine/compaction/utils/MultiTsFileDeviceIteratorTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/engine/compaction/utils/MultiTsFileDeviceIteratorTest.java
@@ -117,4 +117,79 @@ public class MultiTsFileDeviceIteratorTest extends AbstractCompactionTest {
}
Assert.assertEquals(30, deviceNum);
}
+
+ @Test
+ public void getNonAlignedDevicesFromDifferentFilesWithFourLayersInNodeTreeTestUsingFileTimeIndex()
+ throws MetadataException, IOException, WriteProcessException {
+ TSFileDescriptor.getInstance().getConfig().setMaxDegreeOfIndexNode(3);
+ registerTimeseriesInMManger(30, 3, false);
+ createFiles(3, 10, 3, 100, 0, 0, 50, 50, false, true);
+ createFiles(4, 5, 3, 100, 1000, 0, 50, 50, false, true);
+ createFiles(2, 15, 3, 100, 1000, 0, 50, 50, false, false);
+ createFiles(3, 30, 3, 100, 1000, 0, 50, 50, false, false);
+
+ // use file time index
+ for (TsFileResource resource : seqResources) {
+ resource.degradeTimeIndex();
+ }
+ for (TsFileResource resource : unseqResources) {
+ resource.degradeTimeIndex();
+ }
+
+ // sort the deviceId in lexicographical order from small to large
+ List<String> deviceIds = new ArrayList<>();
+ for (int i = 0; i < 30; i++) {
+ deviceIds.add("root.testsg.d" + i);
+ }
+ deviceIds.sort(String::compareTo);
+
+ int deviceNum = 0;
+ try (MultiTsFileDeviceIterator multiTsFileDeviceIterator =
+ new MultiTsFileDeviceIterator(seqResources, unseqResources)) {
+ while (multiTsFileDeviceIterator.hasNextDevice()) {
+ Pair<String, Boolean> deviceInfo = multiTsFileDeviceIterator.nextDevice();
+ Assert.assertEquals(deviceIds.get(deviceNum), deviceInfo.left);
+ Assert.assertFalse(deviceInfo.right);
+ deviceNum++;
+ }
+ }
+ Assert.assertEquals(30, deviceNum);
+ }
+
+ @Test
+ public void getAlignedDevicesFromDifferentFilesWithOneLayerInNodeTreeTestUsingFileTimeIndex()
+ throws MetadataException, IOException, WriteProcessException {
+ registerTimeseriesInMManger(30, 3, false);
+ createFiles(3, 10, 3, 100, 0, 0, 50, 50, true, true);
+ createFiles(4, 5, 3, 100, 1000, 0, 50, 50, true, true);
+ createFiles(2, 15, 3, 100, 1000, 0, 50, 50, true, false);
+ createFiles(3, 30, 3, 100, 1000, 0, 50, 50, true, false);
+
+ // use file time index
+ for (TsFileResource resource : seqResources) {
+ resource.degradeTimeIndex();
+ }
+ for (TsFileResource resource : unseqResources) {
+ resource.degradeTimeIndex();
+ }
+
+ // sort the deviceId in lexicographical order from small to large
+ List<String> deviceIds = new ArrayList<>();
+ for (int i = 0; i < 30; i++) {
+ deviceIds.add("root.testsg.d" + (i + TsFileGeneratorUtils.getAlignDeviceOffset()));
+ }
+ deviceIds.sort(String::compareTo);
+
+ int deviceNum = 0;
+ try (MultiTsFileDeviceIterator multiTsFileDeviceIterator =
+ new MultiTsFileDeviceIterator(seqResources, unseqResources)) {
+ while (multiTsFileDeviceIterator.hasNextDevice()) {
+ Pair<String, Boolean> deviceInfo = multiTsFileDeviceIterator.nextDevice();
+ Assert.assertEquals(deviceIds.get(deviceNum), deviceInfo.left);
+ Assert.assertTrue(deviceInfo.right);
+ deviceNum++;
+ }
+ }
+ Assert.assertEquals(30, deviceNum);
+ }
}