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

Reply via email to