jtuglu1 commented on code in PR #19269:
URL: https://github.com/apache/druid/pull/19269#discussion_r3081763517
##########
indexing-service/src/main/java/org/apache/druid/indexing/seekablestream/supervisor/autoscaler/CostBasedAutoScaler.java:
##########
@@ -174,11 +174,26 @@ public int computeTaskCountForScaleAction()
lastKnownMetrics = collectMetrics();
final int optimalTaskCount = computeOptimalTaskCount(lastKnownMetrics);
- final int currentTaskCount = supervisor.getIoConfig().getTaskCount();
+ int currentTaskCount = supervisor.getIoConfig().getTaskCount();
+
+ // Take the current task count but clamp it to the configured boundaries
if it is outside the boundaries.
+ // There might be a configuration instance with a handwritten taskCount
that is outside the boundaries.
+ final boolean isTaskCountOutOfBounds = currentTaskCount <
config.getTaskCountMin()
Review Comment:
Ok, nevertheless, I'd still prefer to be defensive here and not assume
anything about the future behavior of the algorithm. IMO treating the scaling
algorithm as a blackbox allows us to be more safe and provides a correctness
layer against other bugs.
##########
indexing-service/src/main/java/org/apache/druid/indexing/seekablestream/supervisor/autoscaler/CostBasedAutoScaler.java:
##########
@@ -174,11 +174,26 @@ public int computeTaskCountForScaleAction()
lastKnownMetrics = collectMetrics();
final int optimalTaskCount = computeOptimalTaskCount(lastKnownMetrics);
- final int currentTaskCount = supervisor.getIoConfig().getTaskCount();
+ int currentTaskCount = supervisor.getIoConfig().getTaskCount();
+
+ // Take the current task count but clamp it to the configured boundaries
if it is outside the boundaries.
+ // There might be a configuration instance with a handwritten taskCount
that is outside the boundaries.
+ final boolean isTaskCountOutOfBounds = currentTaskCount <
config.getTaskCountMin()
Review Comment:
Ok, nevertheless, I'd still prefer to be defensive here and not assume
anything about the future behavior of the algorithm or its outputs. IMO
treating the scaling algorithm as a blackbox allows us to be more safe and
provides a correctness layer against other bugs.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]