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

yiguolei pushed a commit to branch spill_and_reserve
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/spill_and_reserve by this push:
     new bd935b3a0a1 should not consider about process memory
bd935b3a0a1 is described below

commit bd935b3a0a1c511868b766749ffb166f935c4ee3
Author: yiguolei <[email protected]>
AuthorDate: Sat Nov 16 14:24:07 2024 +0800

    should not consider about process memory
---
 be/src/runtime/workload_group/workload_group_manager.cpp | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/be/src/runtime/workload_group/workload_group_manager.cpp 
b/be/src/runtime/workload_group/workload_group_manager.cpp
index 77aeefcef53..b3c8d794af1 100644
--- a/be/src/runtime/workload_group/workload_group_manager.cpp
+++ b/be/src/runtime/workload_group/workload_group_manager.cpp
@@ -259,8 +259,8 @@ void WorkloadGroupMgr::add_paused_query(const 
std::shared_ptr<QueryContext>& que
     // if hard limit is enabled, then not need enable other queries hard limit.
     if (inserted) {
         query_ctx->set_memory_sufficient(false);
-        LOG(INFO) << "workload group " << wg->debug_string()
-                  << " insert one new paused query: " << 
query_ctx->debug_string();
+        LOG(INFO) << "Insert one new paused query: " << 
query_ctx->debug_string()
+                  << ", workload group: " << wg->debug_string()
     }
 }
 
@@ -659,6 +659,10 @@ bool 
WorkloadGroupMgr::handle_single_query_(std::shared_ptr<QueryContext> query_
                 
query_ctx->cancel(doris::Status::Error<ErrorCode::MEM_LIMIT_EXCEEDED>(msg1));
             }
         } else {
+            // Should not consider about process memory. For example, the 
query's limit is 100g, workload
+            // group's memlimit is 10g, process memory is 20g. The query 
reserve will always failed in wg
+            // limit, and process is always have memory, so that it will 
resume and failed reserve again.
+            /*
             if (!GlobalMemoryArbitrator::is_exceed_hard_mem_limit()) {
                 LOG(INFO) << "query: " << query_id
                           << ", process limit not exceeded now, resume this 
query"
@@ -678,6 +682,12 @@ bool 
WorkloadGroupMgr::handle_single_query_(std::shared_ptr<QueryContext> query_
                     "set "
                     "the workload group's limit to a lower value.",
                     query_id));
+            */
+            
query_ctx->cancel(doris::Status::Error<ErrorCode::MEM_LIMIT_EXCEEDED>(
+                    "The query({}) reserved memory failed and could not find 
task to spill. Maybe "
+                    "you should "
+                    "set the query's memlimit or workload group's limit to a 
lower value.",
+                    query_id));
         }
     } else {
         SCOPED_ATTACH_TASK(query_ctx.get());


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to