This is an automated email from the ASF dual-hosted git repository. kxiao pushed a commit to branch branch-2.0 in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-2.0 by this push: new 971418ba2a8 [log](cancel) User should see detail cancel message in terminal (#29589) 971418ba2a8 is described below commit 971418ba2a88595ae310174e2902046c3206e1b3 Author: zhiqiang <seuhezhiqi...@163.com> AuthorDate: Sun Jan 7 11:07:34 2024 +0800 [log](cancel) User should see detail cancel message in terminal (#29589) --- be/src/pipeline/pipeline_fragment_context.cpp | 3 ++- be/src/pipeline/task_scheduler.cpp | 7 ++++--- fe/fe-core/src/main/java/org/apache/doris/qe/Coordinator.java | 5 +++-- fe/fe-core/src/main/java/org/apache/doris/qe/StmtExecutor.java | 1 + 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/be/src/pipeline/pipeline_fragment_context.cpp b/be/src/pipeline/pipeline_fragment_context.cpp index 0487a3fcdb2..015944ffeed 100644 --- a/be/src/pipeline/pipeline_fragment_context.cpp +++ b/be/src/pipeline/pipeline_fragment_context.cpp @@ -158,7 +158,8 @@ void PipelineFragmentContext::cancel(const PPlanFragmentCancelReason& reason, _exec_status = Status::Cancelled(msg); } _runtime_state->set_is_cancelled(true, msg); - LOG_WARNING("Instance {} cancelled, reason {}", print_id(_fragment_instance_id), + LOG_WARNING("Query {} instance {} cancelled, reason {}, message {}", print_id(_query_id), + print_id(_fragment_instance_id), PPlanFragmentCancelReason_Name(reason), msg.substr(0, 50)); // Print detail informations below when you debugging here. diff --git a/be/src/pipeline/task_scheduler.cpp b/be/src/pipeline/task_scheduler.cpp index 47459c19eb9..04d61a612c0 100644 --- a/be/src/pipeline/task_scheduler.cpp +++ b/be/src/pipeline/task_scheduler.cpp @@ -125,10 +125,11 @@ void BlockedTaskScheduler::_schedule() { _make_task_run(local_blocked_tasks, iter); } } else if (task->query_context()->is_timeout(now)) { - LOG(WARNING) << "Timeout, query_id=" << print_id(task->query_context()->query_id) - << ", instance_id=" + LOG(WARNING) << "Timeout of blocking task of query_id=" + << print_id(task->query_context()->query_id) << ", instance_id=" << print_id(task->fragment_context()->get_fragment_instance_id()); - task->fragment_context()->cancel(PPlanFragmentCancelReason::TIMEOUT); + task->fragment_context()->cancel(PPlanFragmentCancelReason::TIMEOUT, + "Query timeout"); if (task->is_pending_finish()) { task->set_state(PipelineTaskState::PENDING_FINISH); diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/Coordinator.java b/fe/fe-core/src/main/java/org/apache/doris/qe/Coordinator.java index a03d88863a8..31c609bcc5a 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/Coordinator.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/Coordinator.java @@ -1150,7 +1150,8 @@ public class Coordinator implements CoordInterface { Status status = new Status(); resultBatch = receiver.getNext(status); if (!status.ok()) { - LOG.warn("get next fail, need cancel. query id: {}", DebugUtil.printId(queryId)); + LOG.warn("get next fail, need cancel. query id: {}, msg: {}", + DebugUtil.printId(queryId), status.getErrorMsg()); } updateStatus(status, null /* no instance id */); @@ -1171,7 +1172,7 @@ public class Coordinator implements CoordInterface { throw new RpcException(null, copyStatus.getErrorMsg()); } else { String errMsg = copyStatus.getErrorMsg(); - LOG.warn("query failed: {}", errMsg); + LOG.warn("Query {} failed: {}", DebugUtil.printId(queryId), errMsg); // hide host info int hostIndex = errMsg.indexOf("host"); diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/StmtExecutor.java b/fe/fe-core/src/main/java/org/apache/doris/qe/StmtExecutor.java index 5ca0c3ae1a4..28cb6e21beb 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/StmtExecutor.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/StmtExecutor.java @@ -1503,6 +1503,7 @@ public class StmtExecutor { // in some case may block all fragment handle threads // details see issue https://github.com/apache/doris/issues/16203 LOG.warn("cancel fragment query_id:{} cause {}", DebugUtil.printId(context.queryId()), e.getMessage()); + // BUG: we could reach hear for timeout error ... coordBase.cancel(Types.PPlanFragmentCancelReason.INTERNAL_ERROR); fetchResultSpan.recordException(e); throw e; --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org