This is an automated email from the ASF dual-hosted git repository. Fly-Style pushed a commit to branch visualize_auto_scaler in repository https://gitbox.apache.org/repos/asf/druid.git
commit 8cf345a7f75e8e7573584b08895b18f852d13935 Author: Sasha Syrotenko <[email protected]> AuthorDate: Mon Aug 3 12:37:32 2026 +0300 Add critical lag --- .../supervisor/autoscaler/CostBasedAutoScaler.java | 30 ++++++++-------------- .../auto-scaler-panel/auto-scaler-panel.tsx | 1 + 2 files changed, 11 insertions(+), 20 deletions(-) diff --git a/indexing-service/src/main/java/org/apache/druid/indexing/seekablestream/supervisor/autoscaler/CostBasedAutoScaler.java b/indexing-service/src/main/java/org/apache/druid/indexing/seekablestream/supervisor/autoscaler/CostBasedAutoScaler.java index 24e9311252f..060a7ec9c84 100644 --- a/indexing-service/src/main/java/org/apache/druid/indexing/seekablestream/supervisor/autoscaler/CostBasedAutoScaler.java +++ b/indexing-service/src/main/java/org/apache/druid/indexing/seekablestream/supervisor/autoscaler/CostBasedAutoScaler.java @@ -413,28 +413,18 @@ public class CostBasedAutoScaler implements SupervisorTaskAutoScaler emitMetric(getMetricBuilder().setMetric(OPTIMAL_LAG_COST_METRIC, optimalCost.lagCost())); emitMetric(getMetricBuilder().setMetric(OPTIMAL_IDLE_COST_METRIC, optimalCost.idleCost())); } - - if (!criticalLag) { - final double costDropPercent - = 100.0 * (currentCost.totalCost() - optimalCost.totalCost()) / currentCost.totalCost(); - if (costDropPercent < config.getMinCostDropPercentForScaling()) { - log.info( - "Skipping scaling since cost drop percent[%.2f] is less than required minCostDropPercentForScaling[%d]", - costDropPercent, config.getMinCostDropPercentForScaling() - ); - return currentTaskCount; - } - } } - final double costDropPercent - = 100.0 * (currentCost.totalCost() - optimalCost.totalCost()) / currentCost.totalCost(); - if (costDropPercent < config.getMinCostDropPercentForScaling()) { - log.info( - "Skipping scaling since cost drop percent[%.2f] is less than required minCostDropPercentForScaling[%d]", - costDropPercent, config.getMinCostDropPercentForScaling() - ); - return currentTaskCount; + if (!criticalLag) { + final double costDropPercent + = 100.0 * (currentCost.totalCost() - optimalCost.totalCost()) / currentCost.totalCost(); + if (costDropPercent < config.getMinCostDropPercentForScaling()) { + log.info( + "Skipping scaling since cost drop percent[%.2f] is less than required minCostDropPercentForScaling[%d]", + costDropPercent, config.getMinCostDropPercentForScaling() + ); + return currentTaskCount; + } } // Scale-up is applied eagerly; scale-down may be deferred by computeTaskCountForScaleAction(). diff --git a/web-console/src/dialogs/supervisor-table-action-dialog/auto-scaler-panel/auto-scaler-panel.tsx b/web-console/src/dialogs/supervisor-table-action-dialog/auto-scaler-panel/auto-scaler-panel.tsx index 1e214d30d87..b171e3151d0 100644 --- a/web-console/src/dialogs/supervisor-table-action-dialog/auto-scaler-panel/auto-scaler-panel.tsx +++ b/web-console/src/dialogs/supervisor-table-action-dialog/auto-scaler-panel/auto-scaler-panel.tsx @@ -136,6 +136,7 @@ export const AutoScalerPanel = React.memo(function AutoScalerPanel(props: AutoSc optimalTaskIdleRatio: params.optimalTaskIdleRatio, lagWeight: params.lagWeight, idleWeight: params.idleWeight, + criticalLagThreshold: params.criticalLag, }, { params: { --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
