This is an automated email from the ASF dual-hosted git repository.
shuwenwei pushed a commit to branch object_type
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/object_type by this push:
new a6efa4206bb read point compaction performer
a6efa4206bb is described below
commit a6efa4206bbc224f3670adca8aa480dc34327a44
Author: shuwenwei <[email protected]>
AuthorDate: Tue Jul 8 18:11:58 2025 +0800
read point compaction performer
---
.../execute/task/CrossSpaceCompactionTask.java | 6 ++++++
.../execute/task/InnerSpaceCompactionTask.java | 6 ++++++
.../compaction/CompactionDeleteObjectFileTest.java | 20 +++++++++++++++-----
3 files changed, 27 insertions(+), 5 deletions(-)
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/task/CrossSpaceCompactionTask.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/task/CrossSpaceCompactionTask.java
index 41d859924f0..290466ffeb6 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/task/CrossSpaceCompactionTask.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/task/CrossSpaceCompactionTask.java
@@ -27,6 +27,7 @@ import
org.apache.iotdb.db.storageengine.dataregion.compaction.constant.Compacti
import
org.apache.iotdb.db.storageengine.dataregion.compaction.execute.exception.CompactionRecoverException;
import
org.apache.iotdb.db.storageengine.dataregion.compaction.execute.performer.ICrossCompactionPerformer;
import
org.apache.iotdb.db.storageengine.dataregion.compaction.execute.performer.impl.FastCompactionPerformer;
+import
org.apache.iotdb.db.storageengine.dataregion.compaction.execute.performer.impl.ReadPointCompactionPerformer;
import
org.apache.iotdb.db.storageengine.dataregion.compaction.execute.task.subtask.FastCompactionTaskSummary;
import
org.apache.iotdb.db.storageengine.dataregion.compaction.execute.utils.CompactionUtils;
import
org.apache.iotdb.db.storageengine.dataregion.compaction.execute.utils.log.CompactionLogAnalyzer;
@@ -192,6 +193,11 @@ public class CrossSpaceCompactionTask extends
AbstractCompactionTask {
performer.setTargetFiles(targetTsfileResourceList);
performer.setSummary(summary);
performer.perform();
+ if (performer instanceof ReadPointCompactionPerformer) {
+ for (TsFileResource resource : getAllSourceTsFiles()) {
+ CompactionUtils.removeDeletedObjectFiles(resource);
+ }
+ }
CompactionUtils.updateProgressIndexAndMark(
targetTsfileResourceList, selectedSequenceFiles,
selectedUnsequenceFiles);
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/task/InnerSpaceCompactionTask.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/task/InnerSpaceCompactionTask.java
index 3cd5ff532af..9c7fcc5424f 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/task/InnerSpaceCompactionTask.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/task/InnerSpaceCompactionTask.java
@@ -30,6 +30,7 @@ import
org.apache.iotdb.db.storageengine.dataregion.compaction.execute.exception
import
org.apache.iotdb.db.storageengine.dataregion.compaction.execute.performer.ICompactionPerformer;
import
org.apache.iotdb.db.storageengine.dataregion.compaction.execute.performer.IInnerCompactionPerformer;
import
org.apache.iotdb.db.storageengine.dataregion.compaction.execute.performer.impl.FastCompactionPerformer;
+import
org.apache.iotdb.db.storageengine.dataregion.compaction.execute.performer.impl.ReadPointCompactionPerformer;
import
org.apache.iotdb.db.storageengine.dataregion.compaction.execute.task.subtask.FastCompactionTaskSummary;
import
org.apache.iotdb.db.storageengine.dataregion.compaction.execute.utils.CompactionUtils;
import
org.apache.iotdb.db.storageengine.dataregion.compaction.execute.utils.log.CompactionLogAnalyzer;
@@ -389,6 +390,11 @@ public class InnerSpaceCompactionTask extends
AbstractCompactionTask {
performer.setTargetFiles(filesView.targetFilesInPerformer);
performer.setSummary(summary);
performer.perform();
+ if (performer instanceof ReadPointCompactionPerformer) {
+ for (TsFileResource resource :
filesView.sourceFilesInCompactionPerformer) {
+ CompactionUtils.removeDeletedObjectFiles(resource);
+ }
+ }
prepareTargetFiles();
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/CompactionDeleteObjectFileTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/CompactionDeleteObjectFileTest.java
index 695681ea009..2ff7b0b3ba4 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/CompactionDeleteObjectFileTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/CompactionDeleteObjectFileTest.java
@@ -21,8 +21,8 @@ package
org.apache.iotdb.db.storageengine.dataregion.compaction;
import org.apache.iotdb.commons.exception.MetadataException;
import org.apache.iotdb.db.exception.StorageEngineException;
-import
org.apache.iotdb.db.storageengine.dataregion.compaction.execute.performer.impl.ReadChunkCompactionPerformer;
-import
org.apache.iotdb.db.storageengine.dataregion.compaction.execute.task.InnerSpaceCompactionTask;
+import
org.apache.iotdb.db.storageengine.dataregion.compaction.execute.performer.impl.FastCompactionPerformer;
+import
org.apache.iotdb.db.storageengine.dataregion.compaction.execute.task.SettleCompactionTask;
import
org.apache.iotdb.db.storageengine.dataregion.modification.DeletionPredicate;
import org.apache.iotdb.db.storageengine.dataregion.modification.IDPredicate;
import
org.apache.iotdb.db.storageengine.dataregion.modification.ModificationFile;
@@ -40,6 +40,7 @@ import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Collections;
import java.util.List;
public class CompactionDeleteObjectFileTest extends AbstractCompactionTest {
@@ -77,9 +78,18 @@ public class CompactionDeleteObjectFileTest extends
AbstractCompactionTest {
resources.add(resource);
}
- InnerSpaceCompactionTask task =
- new InnerSpaceCompactionTask(
- 0, tsFileManager, resources, true, new
ReadChunkCompactionPerformer(), 0);
+ // InnerSpaceCompactionTask task =
+ // new InnerSpaceCompactionTask(
+ // 0, tsFileManager, resources, true, new
ReadChunkCompactionPerformer(), 0);
+ SettleCompactionTask task =
+ new SettleCompactionTask(
+ 0,
+ tsFileManager,
+ resources,
+ Collections.emptyList(),
+ true,
+ new FastCompactionPerformer(false),
+ 0);
task.start();
}
}