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 <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]