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

michaelsmith pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/impala.git


The following commit(s) were added to refs/heads/master by this push:
     new 9abbcf82c IMPALA-14451: Log if memory-based admission is skipped
9abbcf82c is described below

commit 9abbcf82ca2576c4523ff6a3a8c9fcd48fd889fe
Author: Zoltan Borok-Nagy <[email protected]>
AuthorDate: Thu Sep 18 17:31:20 2025 +0200

    IMPALA-14451: Log if memory-based admission is skipped
    
    When admission control is enabled, but max memory for pool is not
    configured, Impala skips memory-based admission completely, i.e. it
    doesn't even take available host memory into account.
    
    This behavior can lead to admitting many queries with large memory
    consumption, potentially causing query failures due to memory
    exhaustion.
    
    Fixing the above behavior might cause regressions in some workloads,
    so this patch just adds a new log message which makes it clear why
    a query gets admitted, and also mentions possible failures.
    
    Change-Id: Ib98482abc0fbcb53552adfd89cf6d157b17527fd
    Reviewed-on: http://gerrit.cloudera.org:8080/23438
    Reviewed-by: Impala Public Jenkins <[email protected]>
    Tested-by: Impala Public Jenkins <[email protected]>
---
 be/src/scheduling/admission-controller.cc | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/be/src/scheduling/admission-controller.cc 
b/be/src/scheduling/admission-controller.cc
index 38623df60..b31d83a5c 100644
--- a/be/src/scheduling/admission-controller.cc
+++ b/be/src/scheduling/admission-controller.cc
@@ -1055,7 +1055,13 @@ bool AdmissionController::HasAvailableMemResources(const 
ScheduleState& state,
   const string& pool_name = state.request_pool();
   const int64_t pool_max_mem = GetMaxMemForPool(pool_cfg);
   // If the pool doesn't have memory resources configured, always true.
-  if (pool_max_mem < 0) return true;
+  if (pool_max_mem < 0) {
+    VLOG_QUERY << Substitute("Pool '$0' doesn't have Max Memory configured, 
therefore "
+        "Impala skips memory-based query admission. This can result in query 
failures "
+        "due to memory exhaustion, therefore we highly recommend setting Max 
Memory "
+        "to a positive value for you resource pools.", pool_name);
+    return true;
+  }
 
   // Otherwise, two conditions must be met:
   // 1) The memory estimated to be reserved by all queries in this pool *plus* 
the total

Reply via email to