From 31e03236e3b27f65db60b68eddeec411fb3cbc54 Mon Sep 17 00:00:00 2001 From: 924060929 Date: Tue, 9 Dec 2025 21:01:39 +0800 Subject: [PATCH 1/2] try cancel when Coordinator.exec --- .../org/apache/doris/qe/NereidsCoordinator.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/NereidsCoordinator.java b/fe/fe-core/src/main/java/org/apache/doris/qe/NereidsCoordinator.java index 4084e4a84e8a2a..1f85582bafc0f8 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/NereidsCoordinator.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/NereidsCoordinator.java @@ -61,6 +61,7 @@ import org.apache.doris.thrift.TQueryOptions; import org.apache.doris.thrift.TQueryType; import org.apache.doris.thrift.TReportExecStatusParams; +import org.apache.doris.thrift.TStatusCode; import org.apache.doris.thrift.TTabletCommitInfo; import org.apache.doris.thrift.TUniqueId; @@ -139,6 +140,18 @@ public NereidsCoordinator(Long jobId, TUniqueId queryId, DescriptorTable descTab @Override public void exec() throws Exception { + try { + doExec(); + } catch (Throwable t) { + try { + cancel(new Status(TStatusCode.CANCELLED, "Execute failed: " + t)); + } catch (Throwable cancelThrowable) { + // ignore + } + } + } + + private void doExec() throws Throwable { enqueue(coordinatorContext.connectContext); processTopSink(coordinatorContext, coordinatorContext.topDistributedPlan); From 28c3021611958b59f45f36abc75d22a394f92936 Mon Sep 17 00:00:00 2001 From: 924060929 Date: Tue, 9 Dec 2025 21:10:17 +0800 Subject: [PATCH 2/2] try cancel when Coordinator.exec --- .../main/java/org/apache/doris/qe/NereidsCoordinator.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/NereidsCoordinator.java b/fe/fe-core/src/main/java/org/apache/doris/qe/NereidsCoordinator.java index 1f85582bafc0f8..36359f06014450 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/NereidsCoordinator.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/NereidsCoordinator.java @@ -143,15 +143,17 @@ public void exec() throws Exception { try { doExec(); } catch (Throwable t) { + LOG.error("Execute failed: " + t.getMessage(), t); try { cancel(new Status(TStatusCode.CANCELLED, "Execute failed: " + t)); } catch (Throwable cancelThrowable) { - // ignore + LOG.warn("Cancel execute failed: " + cancelThrowable.getMessage(), cancelThrowable); } + throw t; } } - private void doExec() throws Throwable { + private void doExec() throws Exception { enqueue(coordinatorContext.connectContext); processTopSink(coordinatorContext, coordinatorContext.topDistributedPlan);