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

Fly-Style pushed a commit to branch cba-autoscaler-tweaking
in repository https://gitbox.apache.org/repos/asf/druid.git

commit ec723ee79f81aa472060c1d1d4f64126a52a49b9
Author: Sasha Syrotenko <[email protected]>
AuthorDate: Mon Apr 27 18:25:59 2026 +0300

    Fail on useTaskCountBoundaries and highLagThreshold usage
---
 .../supervisor/autoscaler/CostBasedAutoScalerConfig.java       | 10 ++++++++++
 .../supervisor/autoscaler/CostBasedAutoScalerConfigTest.java   |  3 ++-
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git 
a/indexing-service/src/main/java/org/apache/druid/indexing/seekablestream/supervisor/autoscaler/CostBasedAutoScalerConfig.java
 
b/indexing-service/src/main/java/org/apache/druid/indexing/seekablestream/supervisor/autoscaler/CostBasedAutoScalerConfig.java
index cc0320feefd..7e51547f80a 100644
--- 
a/indexing-service/src/main/java/org/apache/druid/indexing/seekablestream/supervisor/autoscaler/CostBasedAutoScalerConfig.java
+++ 
b/indexing-service/src/main/java/org/apache/druid/indexing/seekablestream/supervisor/autoscaler/CostBasedAutoScalerConfig.java
@@ -115,6 +115,16 @@ public class CostBasedAutoScalerConfig implements 
AutoScalerConfig
     this.scaleDownDuringTaskRolloverOnly = 
Configs.valueOrDefault(scaleDownDuringTaskRolloverOnly, false);
 
     if (this.enableTaskAutoScaler) {
+      Preconditions.checkArgument(
+          useTaskCountBoundaries == null,
+          "useTaskCountBoundaries is removed, "
+          + "use useTaskCountBoundariesOnScaleUp and 
useTaskCountBoundariesOnScaleDown instead"
+      );
+
+      Preconditions.checkArgument(
+          highLagThreshold == null,
+          "highLagThreshold is removed, the autoscaler behavior is good enough 
just with cost function"
+      );
       Preconditions.checkNotNull(taskCountMax, "taskCountMax is required when 
enableTaskAutoScaler is true");
       Preconditions.checkNotNull(taskCountMin, "taskCountMin is required when 
enableTaskAutoScaler is true");
       Preconditions.checkArgument(taskCountMax >= taskCountMin, "taskCountMax 
must be >= taskCountMin");
diff --git 
a/indexing-service/src/test/java/org/apache/druid/indexing/seekablestream/supervisor/autoscaler/CostBasedAutoScalerConfigTest.java
 
b/indexing-service/src/test/java/org/apache/druid/indexing/seekablestream/supervisor/autoscaler/CostBasedAutoScalerConfigTest.java
index fca7bb7be0a..4755b3cf496 100644
--- 
a/indexing-service/src/test/java/org/apache/druid/indexing/seekablestream/supervisor/autoscaler/CostBasedAutoScalerConfigTest.java
+++ 
b/indexing-service/src/test/java/org/apache/druid/indexing/seekablestream/supervisor/autoscaler/CostBasedAutoScalerConfigTest.java
@@ -49,7 +49,6 @@ public class CostBasedAutoScalerConfigTest
                   + "  \"scaleActionPeriodMillis\": 60000,\n"
                   + "  \"lagWeight\": 0.6,\n"
                   + "  \"idleWeight\": 0.4,\n"
-                  + "  \"highLagThreshold\": 30000,\n"
                   + "  \"minScaleUpDelay\": \"PT5M\",\n"
                   + "  \"minScaleDownDelay\": \"PT10M\",\n"
                   + "  \"scaleDownDuringTaskRolloverOnly\": true\n"
@@ -68,6 +67,8 @@ public class CostBasedAutoScalerConfigTest
     Assert.assertEquals(Duration.standardMinutes(5), 
config.getMinScaleUpDelay());
     Assert.assertEquals(Duration.standardMinutes(10), 
config.getMinScaleDownDelay());
     Assert.assertTrue(config.isScaleDownOnTaskRolloverOnly());
+    Assert.assertFalse(config.shouldUseTaskCountBoundariesOnScaleUp());
+    Assert.assertTrue(config.shouldUseTaskCountBoundariesOnScaleDown());
 
     // Test serialization back to JSON
     String serialized = mapper.writeValueAsString(config);


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

Reply via email to