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]

Reply via email to