This is an automated email from the ASF dual-hosted git repository.
jiangtian 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 e320964de18 Fix the exception handle of InsertionCompactionTask
(#15074)
e320964de18 is described below
commit e320964de18a14a2d01b36e7e3887023fc0ef4dd
Author: shuwenwei <[email protected]>
AuthorDate: Thu Mar 13 10:29:31 2025 +0800
Fix the exception handle of InsertionCompactionTask (#15074)
---
.../execute/task/InsertionCrossSpaceCompactionTask.java | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/task/InsertionCrossSpaceCompactionTask.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/task/InsertionCrossSpaceCompactionTask.java
index 6d87b39a162..6c80053994e 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/task/InsertionCrossSpaceCompactionTask.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/task/InsertionCrossSpaceCompactionTask.java
@@ -23,7 +23,6 @@ import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.service.metrics.FileMetrics;
import
org.apache.iotdb.db.storageengine.dataregion.compaction.constant.CompactionTaskType;
import
org.apache.iotdb.db.storageengine.dataregion.compaction.execute.exception.CompactionRecoverException;
-import
org.apache.iotdb.db.storageengine.dataregion.compaction.execute.exception.CompactionValidationFailedException;
import
org.apache.iotdb.db.storageengine.dataregion.compaction.execute.utils.CompactionUtils;
import
org.apache.iotdb.db.storageengine.dataregion.compaction.execute.utils.log.CompactionLogAnalyzer;
import
org.apache.iotdb.db.storageengine.dataregion.compaction.execute.utils.log.CompactionLogger;
@@ -48,7 +47,7 @@ import java.util.stream.Stream;
public class InsertionCrossSpaceCompactionTask extends AbstractCompactionTask {
private Phaser phaser;
- private boolean failToPassValidation = false;
+ private boolean failedBeforeReplaceInMemory = true;
public InsertionCrossSpaceCompactionTask(
Phaser phaser,
@@ -89,6 +88,7 @@ public class InsertionCrossSpaceCompactionTask extends
AbstractCompactionTask {
this.needRecoverTaskInfoFromLogFile = true;
this.selectedSeqFiles = Collections.emptyList();
this.selectedUnseqFiles = new ArrayList<>(1);
+ this.failedBeforeReplaceInMemory = false;
}
private TsFileResource unseqFileToInsert;
@@ -161,6 +161,7 @@ public class InsertionCrossSpaceCompactionTask extends
AbstractCompactionTask {
replaceTsFileInMemory(
Collections.singletonList(unseqFileToInsert),
Collections.singletonList(targetFile));
+ failedBeforeReplaceInMemory = false;
lockWrite(Collections.singletonList(unseqFileToInsert));
CompactionUtils.deleteTsFileResourceWithoutLock(unseqFileToInsert);
@@ -175,9 +176,6 @@ public class InsertionCrossSpaceCompactionTask extends
AbstractCompactionTask {
targetFile,
String.format("%.2f", costTime));
} catch (Exception e) {
- if (e instanceof CompactionValidationFailedException) {
- failToPassValidation = true;
- }
isSuccess = false;
handleException(LOGGER, e);
recover();
@@ -291,7 +289,7 @@ public class InsertionCrossSpaceCompactionTask extends
AbstractCompactionTask {
|| (unseqFileToInsert != null
&& unseqFileToInsert.anyModFileExists()
&& !targetFile.anyModFileExists())
- || failToPassValidation;
+ || failedBeforeReplaceInMemory;
}
private void rollback() throws IOException {