bug fix for autoscaling termination
diff --git a/merger/src/main/java/com/metamx/druid/merger/coordinator/RemoteTaskRunner.java b/merger/src/main/java/com/metamx/druid/merger/coordinator/RemoteTaskRunner.java
index 5537a6b..a95f64c 100644
--- a/merger/src/main/java/com/metamx/druid/merger/coordinator/RemoteTaskRunner.java
+++ b/merger/src/main/java/com/metamx/druid/merger/coordinator/RemoteTaskRunner.java
@@ -177,22 +177,19 @@
                   return;
                 }
 
-                List<WorkerWrapper> thoseLazyWorkers = Lists.newArrayList(
-                    FunctionalIterable
-                        .create(zkWorkers.values())
-                        .filter(
-                            new Predicate<WorkerWrapper>()
-                            {
-                              @Override
-                              public boolean apply(WorkerWrapper input)
-                              {
-                                return input.getRunningTasks().isEmpty()
-                                       && System.currentTimeMillis() - input.getLastCompletedTaskTime().getMillis()
-                                          > config.getMaxWorkerIdleTimeMillisBeforeDeletion();
-                              }
-                            }
-                        )
-                );
+                int workerCount = 0;
+                List<WorkerWrapper> thoseLazyWorkers = Lists.newArrayList();
+                for (WorkerWrapper workerWrapper : zkWorkers.values()) {
+                  workerCount++;
+
+                  if (workerCount > workerSetupManager.getWorkerSetupData().getMinNumWorkers() &&
+                      workerWrapper.getRunningTasks().isEmpty() &&
+                      System.currentTimeMillis() - workerWrapper.getLastCompletedTaskTime().getMillis()
+                      > config.getMaxWorkerIdleTimeMillisBeforeDeletion()
+                      ) {
+                    thoseLazyWorkers.add(workerWrapper);
+                  }
+                }
 
                 AutoScalingData terminated = strategy.terminate(
                     Lists.transform(
diff --git a/merger/src/main/java/com/metamx/druid/merger/coordinator/config/RemoteTaskRunnerConfig.java b/merger/src/main/java/com/metamx/druid/merger/coordinator/config/RemoteTaskRunnerConfig.java
index c9badf7..44b3a1d 100644
--- a/merger/src/main/java/com/metamx/druid/merger/coordinator/config/RemoteTaskRunnerConfig.java
+++ b/merger/src/main/java/com/metamx/druid/merger/coordinator/config/RemoteTaskRunnerConfig.java
@@ -38,7 +38,7 @@
   public abstract DateTime getTerminateResourcesOriginDateTime();
 
   @Config("druid.indexer.maxWorkerIdleTimeMillisBeforeDeletion")
-  @Default("10000")
+  @Default("600000")
   public abstract int getMaxWorkerIdleTimeMillisBeforeDeletion();
 
   @Config("druid.indexer.maxScalingDuration")