yiguolei commented on code in PR #68589:
URL: https://github.com/apache/doris/pull/68589#discussion_r4128931042
##########
be/src/runtime/workload_group/workload_group_manager.cpp:
##########
@@ -957,7 +959,11 @@ void
WorkloadGroupMgr::update_queries_limit_(WorkloadGroupPtr wg, bool enable_ha
// low watermark).
int64_t effective_limit =
std::min(resource_ctx->memory_context()->user_set_mem_limit(),
query_weighted_mem_limit);
- resource_ctx->memory_context()->set_mem_limit(effective_limit);
+ int64_t workload_group_cap = slot_memory_policy ==
TWgSlotMemoryPolicy::NONE
+ ? wg_mem_limit
+ : query_weighted_mem_limit;
+
resource_ctx->memory_context()->set_mem_limit_from_workload_group(effective_limit,
Review Comment:
你这么改是不行的。
我们现在调用tracker_limit_exceeded_str 这个方法的时候,实际只检查了query 的memlimit,并没有检查workload
group的memlimit。
我们workload group 的memlimit 实际是异步生效的,通过后台线程定期刷新来更新query 的memlimit。
你现在的改法把workload group的limit 传递进去,那么后续比如还想打印process 的,就会传递茫茫多的参数。
这块可能的问题是,我们的memtracker 不是一个树状结构,比如 query memtracker----parent ---> workload
group memtracker --parent--> process memtracker。
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]