mrhhsg commented on code in PR #67845:
URL: https://github.com/apache/doris/pull/67845#discussion_r4080437415
##########
be/src/runtime/workload_group/workload_group_manager.cpp:
##########
@@ -602,6 +602,21 @@ bool WorkloadGroupMgr::handle_process_memory_exceeded_(
return false;
}
+ // The process memory pressure may have been relieved by cache reclamation
or by other
+ // queries that finished. Check it before routing the query below,
otherwise a query in a
+ // workload group that uses less than its min memory limit has to wait for
the timeout.
+ const size_t test_memory_size = std::max<size_t>(query_it->reserve_size_,
32L * 1024 * 1024);
Review Comment:
Fixed in 0df5f800262a (rebased head: 0df5f800262a). After peer revocation
returns zero, the below-minimum route now invokes the same spill/cancel
fallback immediately when `GlobalMemoryArbitrator::is_exceed_hard_mem_limit()`
is true. Added `process_mem_exceeded_below_min_memory_cancels_at_hard_limit`,
which asserts `total_mem_used() <= min_memory_limit()` and verifies immediate
hard-limit cancellation. All 6 `WorkloadGroupManagerTest.process_mem_exceeded*`
ASAN UTs pass.
--
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]