This is an automated email from the ASF dual-hosted git repository.

justinchen pushed a commit to branch lower_version_compatibility
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/lower_version_compatibility by 
this push:
     new 1da9f7cd139 protect
1da9f7cd139 is described below

commit 1da9f7cd139118b81fa2d530b6e7f03c159e593b
Author: Caideyipi <[email protected]>
AuthorDate: Mon Dec 1 17:01:19 2025 +0800

    protect
---
 .../db/pipe/agent/task/subtask/processor/PipeProcessorSubtask.java | 7 +++++++
 .../db/pipe/event/common/tsfile/PipeTsFileInsertionEvent.java      | 2 +-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/agent/task/subtask/processor/PipeProcessorSubtask.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/agent/task/subtask/processor/PipeProcessorSubtask.java
index a574712cbbd..50eabf247ff 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/agent/task/subtask/processor/PipeProcessorSubtask.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/agent/task/subtask/processor/PipeProcessorSubtask.java
@@ -45,6 +45,7 @@ import 
org.apache.iotdb.pipe.api.event.dml.insertion.TsFileInsertionEvent;
 import org.apache.iotdb.pipe.api.exception.PipeException;
 
 import com.google.common.util.concurrent.ListeningExecutorService;
+import org.apache.commons.lang3.exception.ExceptionUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -219,6 +220,12 @@ public class PipeProcessorSubtask extends 
PipeReportableSubtask {
           e);
       return false;
     } catch (final Exception e) {
+      if (ExceptionUtils.getRootCause(e) instanceof 
PipeRuntimeOutOfMemoryCriticalException) {
+        LOGGER.info(
+            "Temporarily out of memory in pipe event processing, will wait for 
the memory to release.",
+            e);
+        return false;
+      }
       if (!isClosed.get()) {
         throw new PipeException(
             String.format(
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/common/tsfile/PipeTsFileInsertionEvent.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/common/tsfile/PipeTsFileInsertionEvent.java
index 2a1ab3f5a35..9db3cb57e6a 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/common/tsfile/PipeTsFileInsertionEvent.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/common/tsfile/PipeTsFileInsertionEvent.java
@@ -468,7 +468,7 @@ public class PipeTsFileInsertionEvent extends 
PipeInsertionEvent
           }
         }
       }
-    } catch (final AccessDeniedException e) {
+    } catch (final AccessDeniedException | 
PipeRuntimeOutOfMemoryCriticalException e) {
       throw e;
     } catch (final Exception e) {
       if (e instanceof InterruptedException) {

Reply via email to