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]

Reply via email to