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

Caideyipi pushed a commit to branch fix/pipe-processor-cooperative-yield
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 29513e2595af112e3d80a9555efc707ff51d98f0
Author: Caideyipi <[email protected]>
AuthorDate: Fri Aug 7 17:15:43 2026 +0800

    refactor(pipe): reuse processor exception root cause
---
 .../db/pipe/agent/task/subtask/processor/PipeProcessorSubtask.java | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

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 4596e221108..1d1bfac94af 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
@@ -279,11 +279,12 @@ public class PipeProcessorSubtask extends 
PipeReportableSubtask {
           e.getMessage());
       return false;
     } catch (final Exception e) {
-      if (ExceptionUtils.getRootCause(e) instanceof 
PipeProcessorSubtaskYieldException) {
+      final Throwable rootCause = ExceptionUtils.getRootCause(e);
+      if (rootCause instanceof PipeProcessorSubtaskYieldException) {
         isResumingFromYield.set(true);
-        throw (PipeProcessorSubtaskYieldException) 
ExceptionUtils.getRootCause(e);
+        throw (PipeProcessorSubtaskYieldException) rootCause;
       }
-      if (ExceptionUtils.getRootCause(e) instanceof 
PipeRuntimeOutOfMemoryCriticalException) {
+      if (rootCause instanceof PipeRuntimeOutOfMemoryCriticalException) {
         PipeLogger.log(
             LOGGER::info,
             
DataNodePipeMessages.TEMPORARILY_OUT_OF_MEMORY_IN_PIPE_EVENT_PROCESSING,

Reply via email to