diff --git a/indexing-service/src/main/java/org/apache/druid/indexing/overlord/TaskQueue.java b/indexing-service/src/main/java/org/apache/druid/indexing/overlord/TaskQueue.java index 16ad0864106..6c7dd4e3bd5 100644 --- a/indexing-service/src/main/java/org/apache/druid/indexing/overlord/TaskQueue.java +++ b/indexing-service/src/main/java/org/apache/druid/indexing/overlord/TaskQueue.java @@ -19,12 +19,9 @@ package org.apache.druid.indexing.overlord; -import com.google.common.base.Function; import com.google.common.base.Optional; import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableSet; -import com.google.common.collect.Lists; import com.google.common.collect.Sets; import com.google.common.util.concurrent.FutureCallback; import com.google.common.util.concurrent.Futures; @@ -284,30 +281,19 @@ public class TaskQueue } } // Kill tasks that shouldn't be running - final Set tasksToKill = Sets.difference( - runnerTaskFutures.keySet(), - ImmutableSet.copyOf( - Lists.transform( - tasks, - new Function() - { - @Override - public String apply(Task task) - { - return task.getId(); - } - } - ) - ) - ); + final Set knownTaskIds = tasks + .stream() + .map(Task::getId) + .collect(Collectors.toSet()); + final Set tasksToKill = Sets.difference(runnerTaskFutures.keySet(), knownTaskIds); if (!tasksToKill.isEmpty()) { log.info("Asking taskRunner to clean up %,d tasks.", tasksToKill.size()); for (final String taskId : tasksToKill) { try { taskRunner.shutdown( taskId, - "task is not in runnerTaskFutures[%s]", - runnerTaskFutures.keySet() + "task is not in knownTaskIds[%s]", + knownTaskIds ); } catch (Exception e) {