diff --git a/indexing-service/src/main/java/io/druid/indexing/overlord/RemoteTaskRunnerFactory.java b/indexing-service/src/main/java/io/druid/indexing/overlord/RemoteTaskRunnerFactory.java index 376034ff2cd..4901c8c2162 100644 --- a/indexing-service/src/main/java/io/druid/indexing/overlord/RemoteTaskRunnerFactory.java +++ b/indexing-service/src/main/java/io/druid/indexing/overlord/RemoteTaskRunnerFactory.java @@ -51,10 +51,9 @@ public class RemoteTaskRunnerFactory implements TaskRunnerFactory workerConfigRef; - private final ScheduledExecutorService cleanupExec; private final SimpleResourceManagementConfig config; private final ResourceManagementSchedulerConfig resourceManagementSchedulerConfig; - private final ScheduledExecutorService resourceManagementExec; + private final ScheduledExecutorFactory factory; @Inject public RemoteTaskRunnerFactory( @@ -75,10 +74,9 @@ public class RemoteTaskRunnerFactory implements TaskRunnerFactory(); @@ -106,7 +104,7 @@ public class RemoteTaskRunnerFactory implements TaskRunnerFactory workerBehaviorConfig = EasyMock.createMock(Supplier.class); + ScheduledExecutorFactory executorFactory = new ScheduledExecutorFactory() + { + @Override + public ScheduledExecutorService create(int i, String s) + { + executorCount.incrementAndGet(); + return ScheduledExecutors.fixed(i, s); + } + }; + SimpleResourceManagementConfig resourceManagementConfig = new SimpleResourceManagementConfig(); + ResourceManagementSchedulerConfig resourceManagementSchedulerConfig = new ResourceManagementSchedulerConfig() + { + @Override + public boolean isDoAutoscale() + { + return true; + } + }; + RemoteTaskRunnerFactory factory = new RemoteTaskRunnerFactory( + cf, + config, + indexerZkConfig, + jsonMapper, + httpClient, + workerBehaviorConfig, + executorFactory, + resourceManagementConfig, + resourceManagementSchedulerConfig + ); + Assert.assertEquals(0, executorCount.get()); + RemoteTaskRunner remoteTaskRunner1 = factory.build(); + Assert.assertEquals(2, executorCount.get()); + RemoteTaskRunner remoteTaskRunner2 = factory.build(); + Assert.assertEquals(4, executorCount.get()); + + } +}