This is an automated email from the ASF dual-hosted git repository.

jakevin 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 c028679c134 [feature](Nereids): InferPredicates support In (#29458) 
(#30525)
c028679c134 is described below

commit c028679c1340d085c5c239f590f05c8611831012
Author: jakevin <jakevin...@gmail.com>
AuthorDate: Tue Jan 30 14:23:29 2024 +0800

    [feature](Nereids): InferPredicates support In (#29458) (#30525)
    
    (cherry picked from commit 7a0734dbd60effa676d87bf5a5b7ca516e134d52)
---
 .../doris/nereids/jobs/scheduler/SimpleJobScheduler.java     | 12 ++++++++----
 .../src/main/java/org/apache/doris/qe/SessionVariable.java   |  3 +++
 2 files changed, 11 insertions(+), 4 deletions(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/scheduler/SimpleJobScheduler.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/scheduler/SimpleJobScheduler.java
index c52e2e90f13..ec751bdab2d 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/scheduler/SimpleJobScheduler.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/scheduler/SimpleJobScheduler.java
@@ -19,6 +19,7 @@ package org.apache.doris.nereids.jobs.scheduler;
 
 import org.apache.doris.nereids.CascadesContext;
 import org.apache.doris.nereids.jobs.Job;
+import org.apache.doris.qe.SessionVariable;
 
 import java.util.concurrent.TimeUnit;
 
@@ -29,11 +30,14 @@ public class SimpleJobScheduler implements JobScheduler {
     @Override
     public void executeJobPool(ScheduleContext scheduleContext) {
         JobPool pool = scheduleContext.getJobPool();
+        CascadesContext context = (CascadesContext) scheduleContext;
+        SessionVariable sessionVariable = 
context.getConnectContext().getSessionVariable();
         while (!pool.isEmpty()) {
-            CascadesContext context = (CascadesContext) scheduleContext;
-            if 
(context.getConnectContext().getSessionVariable().enableNereidsTimeout
-                    && 
context.getStatementContext().getStopwatch().elapsed(TimeUnit.MILLISECONDS) > 
5000) {
-                throw new RuntimeException("Nereids cost too much time ( > 5s 
)");
+            if (sessionVariable.enableNereidsTimeout
+                    && 
context.getStatementContext().getStopwatch().elapsed(TimeUnit.MILLISECONDS)
+                    > sessionVariable.nereidsTimeoutSecond * 1000L) {
+                throw new RuntimeException(
+                        "Nereids cost too much time ( > " + 
sessionVariable.nereidsTimeoutSecond + "s )");
             }
             Job job = pool.pop();
             job.execute();
diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java 
b/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java
index 036d8da6836..616368a3778 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java
@@ -972,6 +972,9 @@ public class SessionVariable implements Serializable, 
Writable {
     @VariableMgr.VarAttr(name = ENABLE_NEW_SHUFFLE_HASH_METHOD)
     public boolean enableNewShuffleHashMethod = true;
 
+    @VariableMgr.VarAttr(name = "nereids_timeout_second", needForward = true)
+    public int nereidsTimeoutSecond = 5;
+
     @VariableMgr.VarAttr(name = ENABLE_PUSH_DOWN_NO_GROUP_AGG)
     public boolean enablePushDownNoGroupAgg = true;
 


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to