use of org.apache.druid.indexing.overlord.ImmutableWorkerInfo in project druid by druid-io.
the class JavaScriptWorkerSelectStrategyTest method testFindWorkerForTask.
@Test
public void testFindWorkerForTask() {
ImmutableWorkerInfo worker1 = createMockWorker(1, true, true);
ImmutableWorkerInfo worker2 = createMockWorker(1, true, true);
ImmutableMap<String, ImmutableWorkerInfo> workerMap = ImmutableMap.of("10.0.0.1", worker1, "10.0.0.3", worker2);
ImmutableWorkerInfo workerForBatchTask = STRATEGY.findWorkerForTask(new TestRemoteTaskRunnerConfig(new Period("PT1S")), workerMap, createMockTask("index_hadoop"));
// batch tasks should be sent to worker1
Assert.assertEquals(worker1, workerForBatchTask);
ImmutableWorkerInfo workerForOtherTask = STRATEGY.findWorkerForTask(new TestRemoteTaskRunnerConfig(new Period("PT1S")), workerMap, createMockTask("other_type"));
// all other tasks should be sent to worker2
Assert.assertEquals(worker2, workerForOtherTask);
}
use of org.apache.druid.indexing.overlord.ImmutableWorkerInfo in project druid by druid-io.
the class JavaScriptWorkerSelectStrategyTest method testNoWorkerCanRunTask.
@Test
public void testNoWorkerCanRunTask() {
ImmutableMap<String, ImmutableWorkerInfo> workerMap = ImmutableMap.of("10.0.0.1", createMockWorker(1, false, true), "10.0.0.4", createMockWorker(1, false, true));
ImmutableWorkerInfo workerForBatchTask = STRATEGY.findWorkerForTask(new TestRemoteTaskRunnerConfig(new Period("PT1S")), workerMap, createMockTask("index_hadoop"));
Assert.assertNull(workerForBatchTask);
ImmutableWorkerInfo workerForOtherTask = STRATEGY.findWorkerForTask(new TestRemoteTaskRunnerConfig(new Period("PT1S")), workerMap, createMockTask("otherTask"));
// all other tasks should be sent to worker2
Assert.assertNull(workerForOtherTask);
}
use of org.apache.druid.indexing.overlord.ImmutableWorkerInfo in project druid by druid-io.
the class JavaScriptWorkerSelectStrategyTest method testFillWorkerCapacity.
@Test
public void testFillWorkerCapacity() {
// tasks shoudl be assigned to the worker with maximum currCapacity used until its full
ImmutableMap<String, ImmutableWorkerInfo> workerMap = ImmutableMap.of("10.0.0.1", createMockWorker(1, true, true), "10.0.0.2", createMockWorker(5, true, true));
ImmutableWorkerInfo workerForBatchTask = STRATEGY.findWorkerForTask(new TestRemoteTaskRunnerConfig(new Period("PT1S")), workerMap, createMockTask("index_hadoop"));
Assert.assertEquals(workerMap.get("10.0.0.2"), workerForBatchTask);
}
use of org.apache.druid.indexing.overlord.ImmutableWorkerInfo in project druid by druid-io.
the class PendingTaskBasedProvisioningStrategyTest method testGetExpectedWorkerCapacityWithMultipleWorker.
@Test
public void testGetExpectedWorkerCapacityWithMultipleWorker() {
int workerOneCapacity = 3;
int workerTwoCapacity = 6;
Collection<ImmutableWorkerInfo> workerInfoCollection = ImmutableList.of(new ImmutableWorkerInfo(new Worker("http", "localhost0", "localhost0", workerOneCapacity, "v1", WorkerConfig.DEFAULT_CATEGORY), 0, new HashSet<>(), new HashSet<>(), DateTimes.nowUtc()), new ImmutableWorkerInfo(new Worker("http", "localhost0", "localhost0", workerTwoCapacity + 3, "v1", WorkerConfig.DEFAULT_CATEGORY), 0, new HashSet<>(), new HashSet<>(), DateTimes.nowUtc()));
int expectedWorkerCapacity = strategy.getExpectedWorkerCapacity(workerInfoCollection);
// Use capacity of the first worker in the list
Assert.assertEquals(workerOneCapacity, expectedWorkerCapacity);
}
use of org.apache.druid.indexing.overlord.ImmutableWorkerInfo in project druid by druid-io.
the class FillCapacityWithCategorySpecWorkerSelectStrategyTest method testFindWorkerForTaskWithPreferredTier.
@Test
public void testFindWorkerForTaskWithPreferredTier() {
// test defaultTier != null and tierAffinity is not empty
final WorkerCategorySpec workerCategorySpec1 = new WorkerCategorySpec(ImmutableMap.of("noop", new WorkerCategorySpec.CategoryConfig("c1", ImmutableMap.of("ds1", "c1"))), false);
ImmutableWorkerInfo worker1 = selectWorker(workerCategorySpec1);
Assert.assertEquals("localhost1", worker1.getWorker().getHost());
// test defaultTier == null and tierAffinity is not empty
final WorkerCategorySpec workerCategorySpec2 = new WorkerCategorySpec(ImmutableMap.of("noop", new WorkerCategorySpec.CategoryConfig(null, ImmutableMap.of("ds1", "c1"))), false);
ImmutableWorkerInfo worker2 = selectWorker(workerCategorySpec2);
Assert.assertEquals("localhost1", worker2.getWorker().getHost());
// test defaultTier != null and tierAffinity is empty
final WorkerCategorySpec workerCategorySpec3 = new WorkerCategorySpec(ImmutableMap.of("noop", new WorkerCategorySpec.CategoryConfig("c1", null)), false);
ImmutableWorkerInfo worker3 = selectWorker(workerCategorySpec3);
Assert.assertEquals("localhost1", worker3.getWorker().getHost());
}
Aggregations