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]
