/** * Builds list of {@link Task} from job model in coordinator stream. * @param consumer system consumer associated with a job's coordinator stream. * @return list of {@link Task} constructed from job model in coordinator stream. */ protected List<Task> readTasksFromCoordinatorStream(CoordinatorStreamSystemConsumer consumer) { LocalityManager localityManager = new LocalityManager(consumer.getConfig(), new MetricsRegistryMap()); Map<String, Map<String, String>> containerIdToHostMapping = localityManager.readContainerLocality(); TaskAssignmentManager taskAssignmentManager = new TaskAssignmentManager(consumer.getConfig(), new MetricsRegistryMap()); Map<String, String> taskNameToContainerIdMapping = taskAssignmentManager.readTaskAssignment(); StorageConfig storageConfig = new StorageConfig(consumer.getConfig()); List<String> storeNames = JavaConverters.seqAsJavaListConverter(storageConfig.getStoreNames()).asJava(); return taskNameToContainerIdMapping.entrySet() .stream() .map(entry -> { String hostName = containerIdToHostMapping.get(entry.getValue()).get(SetContainerHostMapping.HOST_KEY); return new Task(hostName, entry.getKey(), entry.getValue(), new ArrayList<>(), storeNames); }).collect(Collectors.toList()); } }
TaskAssignmentManager taskAssignmentManager = new TaskAssignmentManager(config, new MetricsRegistryMap()); taskAssignmentManager.init(); try {
TaskAssignmentManager taskAssignmentManager = new TaskAssignmentManager(config, new MetricsRegistryMap()); taskAssignmentManager.init(); try {
TaskAssignmentManager taskAssignmentManager = new TaskAssignmentManager(config, new MetricsRegistryMap()); taskAssignmentManager.init(); try {
TaskAssignmentManager taskAssignmentManager = new TaskAssignmentManager(config, new MetricsRegistryMap()); taskAssignmentManager.init(); try {
@Test public void testTaskAssignmentManager() { TaskAssignmentManager taskAssignmentManager = new TaskAssignmentManager(config, new MetricsRegistryMap()); Map<String, String> expectedMap = ImmutableMap.of("Task0", "0", "Task1", "1", "Task2", "2", "Task3", "0", "Task4", "1"); for (Map.Entry<String, String> entry : expectedMap.entrySet()) { taskAssignmentManager.writeTaskContainerMapping(entry.getKey(), entry.getValue(), TaskMode.Active); } Map<String, String> localMap = taskAssignmentManager.readTaskAssignment(); assertEquals(expectedMap, localMap); taskAssignmentManager.close(); }
@Test public void testDeleteMappings() { TaskAssignmentManager taskAssignmentManager = new TaskAssignmentManager(config, new MetricsRegistryMap()); Map<String, String> expectedMap = ImmutableMap.of("Task0", "0", "Task1", "1"); for (Map.Entry<String, String> entry : expectedMap.entrySet()) { taskAssignmentManager.writeTaskContainerMapping(entry.getKey(), entry.getValue(), TaskMode.Active); } Map<String, String> localMap = taskAssignmentManager.readTaskAssignment(); assertEquals(expectedMap, localMap); taskAssignmentManager.deleteTaskContainerMappings(localMap.keySet()); Map<String, String> deletedMap = taskAssignmentManager.readTaskAssignment(); assertTrue(deletedMap.isEmpty()); taskAssignmentManager.close(); }
@Test public void testTaskAssignmentManagerEmptyCoordinatorStream() { TaskAssignmentManager taskAssignmentManager = new TaskAssignmentManager(config, new MetricsRegistryMap()); Map<String, String> expectedMap = new HashMap<>(); Map<String, String> localMap = taskAssignmentManager.readTaskAssignment(); assertEquals(expectedMap, localMap); taskAssignmentManager.close(); } }