TangSiyang2001 commented on code in PR #17837:
URL: https://github.com/apache/doris/pull/17837#discussion_r1138499170
##########
fe/fe-core/src/main/java/org/apache/doris/qe/ConnectContext.java:
##########
@@ -652,16 +644,31 @@ public String getCurrentConnectedFEIp() {
return currentConnectedFEIp;
}
+ /**
+ * Keep it just for directly controlling kill_thread_timeout in {@link
#checkTimeout(long)}
+ */
public void setExecTimeout(int timeout) {
executionTimeoutS = timeout;
}
- public long resetExecTimeoutByInsert() {
- executionTimeoutS = Math.max(executionTimeoutS,
sessionVariable.getInsertTimeoutS());
- return executionTimeoutS;
- }
-
+ /**
+ * We calculate and get the exact execution timeout here, rather than
setting
+ * execution timeout in many other places.
+ *
+ * @return exact execution timeout
+ */
public int getExecTimeout() {
+ userQueryTimeout =
Env.getCurrentEnv().getAuth().getQueryTimeout(qualifiedUser);
Review Comment:
If user timeout was -1, we will not use it as execution timeout, and will
use session var instead. And in ConnectContext#checkTimeout, we directly use
executionTimeout for kill thread timeout checking. If we can change the
setExecTimeout behavior in `MysqlLoadManager#executeMySqlLoadJobFromStmt`, the
problem will be completely solved. Then we an just use the getter the fetch the
execution timeout every time, remove the redundant setter and can even remove
the field `executionTimeout` in ConnectContext.
--
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]