loquisgon commented on a change in pull request #12221:
URL: https://github.com/apache/druid/pull/12221#discussion_r799763528
##########
File path:
indexing-service/src/main/java/org/apache/druid/indexing/overlord/ImmutableWorkerInfo.java
##########
@@ -119,12 +142,33 @@ public boolean isValidVersion(String minVersion)
return worker.getVersion().compareTo(minVersion) >= 0;
}
- public boolean canRunTask(Task task)
+ public boolean canRunTask(Task task, double parallelIndexWorkerRatio)
{
return (worker.getCapacity() - getCurrCapacityUsed() >=
task.getTaskResource().getRequiredCapacity()
+ && canRunParallelIndexTask(task, parallelIndexWorkerRatio)
&&
!getAvailabilityGroups().contains(task.getTaskResource().getAvailabilityGroup()));
}
+ public boolean canRunParallelIndexTask(Task task, double
parallelIndexWorkerRatio)
+ {
+ if (!task.getType().equals(ParallelIndexSupervisorTask.TYPE)) {
+ return true;
+ }
+ return getWorkerParallelIndexCapacity(parallelIndexWorkerRatio) -
getCurrParallelIndexCapacityUsed()
Review comment:
Will this strategy result in artificially reducing parallel task
supervisor concurrency? For example, assume that you have 10 slots and
parallelIndexWorkerRatio is 0.1 . Assume that one ingestion is running with one
supervisor an one parallel sub task running then if another parallel ingestion
is started even though there are 8 slots the new parallel task won't run
because the parallel task slots (1) has already been consumed..
--
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]