This is an automated email from the ASF dual-hosted git repository.
yiguolei pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new 42aa174405d [chore](log) Log to trace before wait rpc timeout #28024
42aa174405d is described below
commit 42aa174405dd9c9c6014c3c4a43b9e5a007f2559
Author: zhiqiang <[email protected]>
AuthorDate: Sat Dec 9 10:04:43 2023 +0800
[chore](log) Log to trace before wait rpc timeout #28024
---
.../main/java/org/apache/doris/qe/Coordinator.java | 26 +++++++++++++++++++---
1 file changed, 23 insertions(+), 3 deletions(-)
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 cc56b6f764a..a2877e7538c 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
@@ -987,11 +987,21 @@ public class Coordinator implements CoordInterface {
long leftTimeMs,
String operation) throws RpcException, UserException {
if (leftTimeMs <= 0) {
- long elapsed = (System.currentTimeMillis() - timeoutDeadline) /
1000 + queryOptions.getExecutionTimeout();
+ long currentTimeMillis = System.currentTimeMillis();
+ long elapsed = (currentTimeMillis - timeoutDeadline) / 1000 +
queryOptions.getExecutionTimeout();
String msg = String.format(
"timeout before waiting %s rpc, query timeout:%d, already
elapsed:%d, left for this:%d",
- operation, queryOptions.getExecutionTimeout(),
elapsed, leftTimeMs);
+ operation, queryOptions.getExecutionTimeout(), elapsed,
leftTimeMs);
LOG.warn("Query {} {}", DebugUtil.printId(queryId), msg);
+ if (!queryOptions.isSetExecutionTimeout() ||
!queryOptions.isSetQueryTimeout()) {
+ LOG.warn("Query {} does not set timeout info, execution
timeout: is_set:{}, value:{}"
+ + ", query timeout: is_set:{}, value: {}, "
+ + "coordinator timeout deadline {}, cur time
millis: {}",
+ DebugUtil.printId(queryId),
+ queryOptions.isSetExecutionTimeout(),
queryOptions.getExecutionTimeout(),
+ queryOptions.isSetQueryTimeout(),
queryOptions.getQueryTimeout(),
+ timeoutDeadline, currentTimeMillis);
+ }
throw new UserException(msg);
}
@@ -1054,11 +1064,21 @@ public class Coordinator implements CoordInterface {
Future<PExecPlanFragmentResult>>> futures, long leftTimeMs,
String operation) throws RpcException, UserException {
if (leftTimeMs <= 0) {
- long elapsed = (System.currentTimeMillis() - timeoutDeadline) /
1000 + queryOptions.getExecutionTimeout();
+ long currentTimeMillis = System.currentTimeMillis();
+ long elapsed = (currentTimeMillis - timeoutDeadline) / 1000 +
queryOptions.getExecutionTimeout();
String msg = String.format(
"timeout before waiting %s rpc, query timeout:%d, already
elapsed:%d, left for this:%d",
operation, queryOptions.getExecutionTimeout(), elapsed,
leftTimeMs);
LOG.warn("Query {} {}", DebugUtil.printId(queryId), msg);
+ if (!queryOptions.isSetExecutionTimeout() ||
!queryOptions.isSetQueryTimeout()) {
+ LOG.warn("Query {} does not set timeout info, execution
timeout: is_set:{}, value:{}"
+ + ", query timeout: is_set:{}, value: {}, "
+ + "coordinator timeout deadline {}, cur time
millis: {}",
+ DebugUtil.printId(queryId),
+ queryOptions.isSetExecutionTimeout(),
queryOptions.getExecutionTimeout(),
+ queryOptions.isSetQueryTimeout(),
queryOptions.getQueryTimeout(),
+ timeoutDeadline, currentTimeMillis);
+ }
throw new UserException(msg);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]