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 {

Reply via email to