github-actions[bot] commented on code in PR #68283:
URL: https://github.com/apache/doris/pull/68283#discussion_r4057486085
##########
fe/fe-core/src/main/java/org/apache/doris/qe/Coordinator.java:
##########
@@ -767,6 +767,9 @@ private boolean shouldQueue() {
// A call to Exec() must precede all other member function calls.
@Override
public void exec() throws Exception {
+ if (isQueryCancelled()) {
Review Comment:
[P1] Treat every pending non-OK cancellation as terminal before dispatch
`StmtExecutor.cancel` accepts `Status.TIMEOUT` (the timeout checker calls it
while planning), and `setCoord` forwards that status into `Coordinator.cancel`,
which stores `TIMEOUT` in `queryStatus`. But `Status.isCancelled()` is true
only for `TStatusCode.CANCELLED`, so this guard—and the analogous guards in
`sendPipelineCtx`, `NereidsCoordinator.exec`, and `PipelineExecutionTask`—does
not fire for a timeout. A query that timed out before coordinator publication
can still be queued, register instances, and send fragments (with a fresh
timeout deadline in the legacy path). Gate on a non-OK execution status or
otherwise carry the pending terminal reason through all guards, and add a
TIMEOUT regression for both coordinator paths.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]