rafitadiaz opened a new issue, #18511:
URL: https://github.com/apache/druid/issues/18511

   **Description**
   
   When attempting to configure the GCE autoscaler, we encountered a critical 
exception that prevents the autoscaler from functioning. The issue occurs when 
the `druid.indexer.autoscale.workerVersion` parameter is not explicitly set in 
the configuration.
   
   The documentation indicates this parameter is **optional**, so its absence 
should not lead to a failure.
   
   Our current configuration for the autoscaler was: 
   
   ```ini
   # Required for autoscaling of middle managers
   druid.indexer.autoscale.strategy=gce
   druid.indexer.autoscale.doAutoscale=true
   druid.indexer.autoscale.strategy.type=pendingTaskBased
   #How often to check whether or not new Middle Managers should be added.
   druid.indexer.autoscale.provisionPeriod=PT30S
   # How long can a worker be idle (not a run task) before it can be considered 
for termination.
   druid.indexer.autoscale.workerIdleTimeout=PT20M
   # How often to check when MiddleManagers should be removed.
   druid.indexer.autoscale.terminatePeriod=PT10M
   # How long the Overlord will wait around for a MiddleManager to show up 
before giving up.
   druid.indexer.autoscale.maxScalingDuration=PT10M
   #How long a task can be in "pending" state before the Overlord tries to 
scale up.
   druid.indexer.autoscale.pendingTaskTimeout=PT30S
   #druid.indexer.autoscale.workerVersion=0 #If set, will only create nodes of 
set version during autoscaling. Overrides dynamic configuration.
   # The port that MiddleManagers will run on
   druid.indexer.autoscale.workerPort=8091
   # An estimation of the number of task slots available for each worker 
launched by the auto scaler when there are no workers running. Match the value 
to equal to druid.worker.capacity(CPU -1)
   druid.indexer.autoscale.workerCapacityHint=1
   ```
   
   **Actual Behavior**
   
   The service fails with the following stack trace:
   
   ```
   2025-09-10T13:29:58,949 ERROR [SimpleResourceManagement-manager--0] 
org.apache.druid.indexing.overlord.autoscaling.AbstractWorkerProvisioningStrategy
 - Uncaught exception.
   org.apache.druid.java.util.common.ISE: No minVersion found! It should be set 
in your runtime properties or configuration database.
   ```
   
   We solved the problem adding this line to the configuration 
   
   ```ini
   druid.indexer.autoscale.workerVersion="30.0.1"
   ```
   
   **Expected Behavior**
   
   The autoscaler should use a default value (e.g., null) for workerVersion as 
indicated by the documentation, and the process should not throw an exception. 
   
   **Notes**
   
   1.- The field is showed as optional on the configuration:
   
   * druid.indexer.autoscale.workerVersion: **If set,** will only create nodes 
of set version during autoscaling. Overrides dynamic configuration.      
(default null)
   
   2.- The error message and the exception are coming from here: 
   
   
https://github.com/apache/druid/blob/45cf67d09e10aaf493556d2fe512f2034eead897/indexing-service/src/main/java/org/apache/druid/indexing/overlord/autoscaling/ProvisioningUtil.java#L39
   
   **Requested Changes**
   
   * **Set a Default Value**: The `druid.indexer.autoscale.workerVersion` 
property should default to null. This will prevent the ISE exception from being 
thrown when the parameter is not explicitly configured.
   
   * If this is not fix then the **error message should be improved**.
   
   The error message `No minVersion found!` is misleading.
   The code and documentation refer to `workerVersion`, not `minVersion`. 
   It should be updated to clearly state which parameter is missing, such as 
`No workerVersion found!`, to avoid confusion with 
`druid.indexer.runner.minWorkerVersion` and other related properties.
   
   
   


-- 
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]

Reply via email to