@Override public int hashCode() { return Objects.hash( getId(), getType(), getCreatedTime(), getQueueInsertionTime(), getStatusCode(), getDuration(), getLocation(), getDataSource(), getErrorMsg() ); }
@Override public TaskStatusResponse getTaskStatus(String taskId) { return new TaskStatusResponse( taskId, new TaskStatusPlus( taskId, "testTask", DateTimes.EPOCH, DateTimes.EPOCH, tasks.get(taskId), RunnerTaskState.RUNNING, -1L, TaskLocation.unknown(), "testDataSource", null ) ); } }
TaskHistory(SubTaskSpec<T> spec, List<TaskStatusPlus> attemptHistory) { attemptHistory.forEach(status -> { Preconditions.checkState( status.getStatusCode() == TaskState.SUCCESS || status.getStatusCode() == TaskState.FAILED, "Complete tasks should be recorded, but the state of task[%s] is [%s]", status.getId(), status.getStatusCode() ); }); this.spec = spec; this.attemptHistory = ImmutableList.copyOf(attemptHistory); }
final String taskId = taskStatusPlus.getId(); final String taskDatasource = taskStatusPlus.getDataSource(); if (taskDatasource == null) { throw new WebApplicationException( optionalTypeFilteredList = collectionToFilter .stream() .filter(task -> type.equals(task.getType())) .collect(Collectors.toList());
final TaskPayloadResponse response = indexingServiceClient.getTaskPayload(status.getId()); if (response == null) { throw new ISE("WTH? got a null paylord from overlord for task[%s]", status.getId()); .collect(Collectors.toList()) ); compactTaskIntervals.computeIfAbsent(status.getDataSource(), k -> new ArrayList<>()).add(interval); } else { throw new ISE("WTH? task[%s] is not a compactTask?", status.getId());
TaskState getLastState() { return lastStatus == null ? TaskState.FAILED : lastStatus.getStatusCode(); }
Assert.assertEquals( TaskStatus.running(taskId_0).getStatusCode(), ((TaskStatusResponse) response.getEntity()).getStatus().getStatusCode() ); final TaskStatusPlus taskResponseObject = ((List<TaskStatusPlus>) response .getEntity()).get(0); Assert.assertEquals(taskId_1, taskResponseObject.getId()); Assert.assertEquals(TASK_LOCATION, taskResponseObject.getLocation());
); TaskStatusPlus tsp = taskStatusResponse1.getStatus(); Assert.assertEquals(tsp.getStatusCode(), tsp.getStatus()); Assert.assertEquals( new TaskStatusResponse( "mytask", new TaskStatusPlus( "mytask", "noop",
Assert.assertEquals(tasksIds.get(1), responseObjects.get(0).getId());
TaskStatusPlus taskStatusPlus = mapper.readValue(json, TaskStatusPlus.class); Assert.assertNotNull(taskStatusPlus); Assert.assertNotNull(taskStatusPlus.getStatusCode()); Assert.assertTrue(taskStatusPlus.getStatusCode().isRunnable()); Assert.assertNotNull(taskStatusPlus.getRunnerStatusCode());
private CloseableIterator<TaskStatusPlus> getAuthorizedTasks( JsonParserIterator<TaskStatusPlus> it, DataContext root ) { final AuthenticationResult authenticationResult = (AuthenticationResult) root.get(PlannerContext.DATA_CTX_AUTHENTICATION_RESULT); Function<TaskStatusPlus, Iterable<ResourceAction>> raGenerator = task -> Collections.singletonList( AuthorizationUtils.DATASOURCE_READ_RA_GENERATOR.apply(task.getDataSource())); final Iterable<TaskStatusPlus> authorizedTasks = AuthorizationUtils.filterAuthorizedResources( authenticationResult, () -> it, raGenerator, authorizerMapper ); return wrap(authorizedTasks.iterator(), it); }
@SafeVarargs private static List<TaskStatusPlus> filterNonCompactTasks(List<TaskStatusPlus>...taskStatusStreams) { final List<TaskStatusPlus> allTaskStatusPlus = new ArrayList<>(); Arrays.stream(taskStatusStreams).forEach(allTaskStatusPlus::addAll); return allTaskStatusPlus .stream() .filter(status -> { final String taskType = status.getType(); // taskType can be null if middleManagers are running with an older version. Here, we consevatively regard // the tasks of the unknown taskType as the compactionTask. This is because it's important to not run // compactionTasks more than the configured limit at any time which might impact to the ingestion // performance. return taskType == null || COMPACT_TASK_TYPE.equals(taskType); }) .collect(Collectors.toList()); }
@Override public TaskLocation getTaskLocation(String id) { final TaskStatusResponse response = client.getTaskStatus(id); return response == null ? TaskLocation.unknown() : response.getStatus().getLocation(); }
createdTimes.add(completeTaskStatus.getCreatedTime());
.getEntity(); Assert.assertEquals(2, responseObjects.size()); Assert.assertEquals("id_1", responseObjects.get(0).getId()); TaskStatusPlus tsp = responseObjects.get(0); Assert.assertEquals(null, tsp.getType()); Assert.assertTrue("DataSource Check", "allow".equals(responseObjects.get(0).getDataSource()));
.getEntity(); Assert.assertEquals(2, responseObjects.size()); Assert.assertEquals("id_2", responseObjects.get(0).getId()); Assert.assertTrue("DataSource Check", "allow".equals(responseObjects.get(0).getDataSource()));
@Override public Optional<TaskStatus> getTaskStatus(String id) { final TaskStatusResponse response = client.getTaskStatus(id); return response == null ? Optional.absent() : Optional.of(TaskStatus.fromCode(id, response.getStatus().getStatusCode())); } }
TaskHistory(SubTaskSpec<T> spec, List<TaskStatusPlus> attemptHistory) { attemptHistory.forEach(status -> { Preconditions.checkState( status.getStatusCode() == TaskState.SUCCESS || status.getStatusCode() == TaskState.FAILED, "Complete tasks should be recorded, but the state of task[%s] is [%s]", status.getId(), status.getStatusCode() ); }); this.spec = spec; this.attemptHistory = ImmutableList.copyOf(attemptHistory); }
private CloseableIterator<TaskStatusPlus> getAuthorizedTasks(JsonParserIterator<TaskStatusPlus> it, DataContext root) { final AuthenticationResult authenticationResult = (AuthenticationResult) root.get(PlannerContext.DATA_CTX_AUTHENTICATION_RESULT); Function<TaskStatusPlus, Iterable<ResourceAction>> raGenerator = task -> Collections.singletonList( AuthorizationUtils.DATASOURCE_READ_RA_GENERATOR.apply(task.getDataSource())); final Iterable<TaskStatusPlus> authorizedTasks = AuthorizationUtils.filterAuthorizedResources( authenticationResult, () -> it, raGenerator, authorizerMapper); return wrap(authorizedTasks.iterator(), it); }