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

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


The following commit(s) were added to refs/heads/master by this push:
     new c980f5f1ce7 Use alarming sleep time for CRITICAL and PANIC level 
(#17788)
c980f5f1ce7 is described below

commit c980f5f1ce75f31f2398ed6a8ce5ff56815b7569
Author: Xiaotian (Jackie) Jiang <[email protected]>
AuthorDate: Mon Mar 2 12:36:31 2026 -0800

    Use alarming sleep time for CRITICAL and PANIC level (#17788)
---
 .../PerQueryCPUMemAccountantFactory.java           | 25 +++++++++++++++++-----
 .../core/accounting/QueryResourceAggregator.java   | 25 +++++++++++++++++-----
 2 files changed, 40 insertions(+), 10 deletions(-)

diff --git 
a/pinot-core/src/main/java/org/apache/pinot/core/accounting/PerQueryCPUMemAccountantFactory.java
 
b/pinot-core/src/main/java/org/apache/pinot/core/accounting/PerQueryCPUMemAccountantFactory.java
index bbceaa84cf3..f45338301a5 100644
--- 
a/pinot-core/src/main/java/org/apache/pinot/core/accounting/PerQueryCPUMemAccountantFactory.java
+++ 
b/pinot-core/src/main/java/org/apache/pinot/core/accounting/PerQueryCPUMemAccountantFactory.java
@@ -477,19 +477,34 @@ public class PerQueryCPUMemAccountantFactory implements 
ThreadAccountantFactory
 
         // Compute the new triggering level based on the current heap usage
         QueryMonitorConfig config = _queryMonitorConfig.get();
-        _triggeringLevel =
-            config.isCpuTimeBasedKillingEnabled() ? 
TriggeringLevel.CPUTimeBasedKilling : TriggeringLevel.Normal;
         if (_usedBytes > config.getPanicLevel()) {
+          // PANIC
+          _sleepTime = config.getAlarmingSleepTime();
           _triggeringLevel = TriggeringLevel.HeapMemoryPanic;
           _metrics.addMeteredGlobalValue(_heapMemoryPanicExceededMeter, 1);
         } else if (_usedBytes > config.getCriticalLevel()) {
+          // CRITICAL
+          _sleepTime = config.getAlarmingSleepTime();
           _triggeringLevel = TriggeringLevel.HeapMemoryCritical;
           _metrics.addMeteredGlobalValue(_heapMemoryCriticalExceededMeter, 1);
         } else if (_usedBytes > config.getAlarmingLevel()) {
+          // ALARMING
           _sleepTime = config.getAlarmingSleepTime();
-          // For debugging
-          if (LOGGER.isDebugEnabled() && _triggeringLevel == 
TriggeringLevel.Normal) {
-            _triggeringLevel = TriggeringLevel.HeapMemoryAlarmingVerbose;
+          if (config.isCpuTimeBasedKillingEnabled()) {
+            _triggeringLevel = TriggeringLevel.CPUTimeBasedKilling;
+          } else {
+            if (LOGGER.isDebugEnabled()) {
+              _triggeringLevel = TriggeringLevel.HeapMemoryAlarmingVerbose;
+            } else {
+              _triggeringLevel = TriggeringLevel.Normal;
+            }
+          }
+        } else {
+          // NORMAL
+          if (config.isCpuTimeBasedKillingEnabled()) {
+            _triggeringLevel = TriggeringLevel.CPUTimeBasedKilling;
+          } else {
+            _triggeringLevel = TriggeringLevel.Normal;
           }
         }
 
diff --git 
a/pinot-core/src/main/java/org/apache/pinot/core/accounting/QueryResourceAggregator.java
 
b/pinot-core/src/main/java/org/apache/pinot/core/accounting/QueryResourceAggregator.java
index 4a15078862a..c9cfd655989 100644
--- 
a/pinot-core/src/main/java/org/apache/pinot/core/accounting/QueryResourceAggregator.java
+++ 
b/pinot-core/src/main/java/org/apache/pinot/core/accounting/QueryResourceAggregator.java
@@ -202,19 +202,34 @@ public class QueryResourceAggregator implements 
ResourceAggregator {
 
     // Compute the new triggering level based on the current heap usage
     QueryMonitorConfig config = _queryMonitorConfig.get();
-    _triggeringLevel =
-        config.isCpuTimeBasedKillingEnabled() ? 
TriggeringLevel.CPUTimeBasedKilling : TriggeringLevel.Normal;
     if (_usedBytes > config.getPanicLevel()) {
+      // PANIC
+      _sleepTime = config.getAlarmingSleepTime();
       _triggeringLevel = TriggeringLevel.HeapMemoryPanic;
       _metrics.addMeteredGlobalValue(_heapMemoryPanicExceededMeter, 1);
     } else if (_usedBytes > config.getCriticalLevel()) {
+      // CRITICAL
+      _sleepTime = config.getAlarmingSleepTime();
       _triggeringLevel = TriggeringLevel.HeapMemoryCritical;
       _metrics.addMeteredGlobalValue(_heapMemoryCriticalExceededMeter, 1);
     } else if (_usedBytes > config.getAlarmingLevel()) {
+      // ALARMING
       _sleepTime = config.getAlarmingSleepTime();
-      // For debugging
-      if (LOGGER.isDebugEnabled() && _triggeringLevel == 
TriggeringLevel.Normal) {
-        _triggeringLevel = TriggeringLevel.HeapMemoryAlarmingVerbose;
+      if (config.isCpuTimeBasedKillingEnabled()) {
+        _triggeringLevel = TriggeringLevel.CPUTimeBasedKilling;
+      } else {
+        if (LOGGER.isDebugEnabled()) {
+          _triggeringLevel = TriggeringLevel.HeapMemoryAlarmingVerbose;
+        } else {
+          _triggeringLevel = TriggeringLevel.Normal;
+        }
+      }
+    } else {
+      // NORMAL
+      if (config.isCpuTimeBasedKillingEnabled()) {
+        _triggeringLevel = TriggeringLevel.CPUTimeBasedKilling;
+      } else {
+        _triggeringLevel = TriggeringLevel.Normal;
       }
     }
 


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

Reply via email to