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,
