This is an automated email from the ASF dual-hosted git repository. lide 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 db2c4d4738e [fix](api) make QueryDetailQueue.queryCapacity configurable (#44990) db2c4d4738e is described below commit db2c4d4738ed1c673b198bf659a02b27055158b8 Author: camby <camby...@tencent.com> AuthorDate: Thu Dec 5 18:48:36 2024 +0800 [fix](api) make QueryDetailQueue.queryCapacity configurable (#44990) ### What problem does this PR solve? Problem: very large SQLs make FE OOM, here make the capacity configurable. In branch-2.1 we already removed the usage by pr: https://github.com/apache/doris/pull/29999 --- fe/fe-common/src/main/java/org/apache/doris/common/Config.java | 6 ++++++ fe/fe-core/src/main/java/org/apache/doris/qe/QueryDetailQueue.java | 7 ++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/fe/fe-common/src/main/java/org/apache/doris/common/Config.java b/fe/fe-common/src/main/java/org/apache/doris/common/Config.java index dd09db27d94..94c6ad4b0aa 100644 --- a/fe/fe-common/src/main/java/org/apache/doris/common/Config.java +++ b/fe/fe-common/src/main/java/org/apache/doris/common/Config.java @@ -2464,6 +2464,12 @@ public class Config extends ConfigBase { }) public static int http_load_submitter_max_worker_threads = 2; + @ConfField(mutable = false, masterOnly = false, description = { + "缓存的最大Query数量,用于响应http请求/api/query_detail。", + "The max capacity of queries for query_detail api." + }) + public static int http_query_detail_capacity = 10000; + @ConfField(mutable = true, masterOnly = true, description = { "load label个数阈值,超过该个数后,对于已经完成导入作业或者任务," + "其label会被删除,被删除的 label 可以被重用。 值为 -1 时,表示此阈值不生效。", diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/QueryDetailQueue.java b/fe/fe-core/src/main/java/org/apache/doris/qe/QueryDetailQueue.java index 85f09798a33..b0d464df337 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/QueryDetailQueue.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/QueryDetailQueue.java @@ -17,6 +17,8 @@ package org.apache.doris.qe; +import org.apache.doris.common.Config; + import com.google.common.collect.Lists; import com.google.common.collect.Maps; @@ -31,9 +33,12 @@ import java.util.Map; public class QueryDetailQueue { private static Map<String, QueryDetail> runningQueries = Maps.newHashMap(); private static LinkedList<QueryDetail> totalQueries = new LinkedList<QueryDetail>(); - private static int queryCapacity = 10000; + private static int queryCapacity = Config.http_query_detail_capacity; public static synchronized void addOrUpdateQueryDetail(QueryDetail queryDetail) { + if (queryCapacity <= 0) { + return; + } if (runningQueries.get(queryDetail.getQueryId()) == null) { if (queryDetail.getState() == QueryDetail.QueryMemState.RUNNING) { runningQueries.put(queryDetail.getQueryId(), queryDetail); --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org