@Override public void shutdown() { if (getWorkingState() == WorkUnitState.WorkingState.PENDING || getWorkingState() == WorkUnitState.WorkingState.RUNNING) { this.workingState = WorkUnitState.WorkingState.CANCELLED; } }
@Override public String getProgress() { return this.underlyingTask.getProgress(); }
@Override public TaskIFace createTask(TaskContext taskContext) { return new NoopTask(taskContext); }
protected WorkUnit createWorkUnitForFailure (Dataset dataset) throws IOException { WorkUnit workUnit = new FailedTask.FailedWorkUnit(); TaskUtils.setTaskFactoryClass(workUnit, CompactionFailedTask.CompactionFailedTaskFactory.class); suite.save (dataset, workUnit); return workUnit; }
public FailedWorkUnit () { super (); TaskUtils.setTaskFactoryClass(this, FailedTaskFactory.class); } }
private Task createTaskRunnable(WorkUnitState workUnitState, CountDownLatch countDownLatch) { Optional<TaskFactory> taskFactoryOpt = TaskUtils.getTaskFactory(workUnitState); if (taskFactoryOpt.isPresent()) { return new TaskIFaceWrapper(taskFactoryOpt.get().createTask(new TaskContext(workUnitState)), new TaskContext(workUnitState), countDownLatch, this.taskStateTracker); } else { return new Task(new TaskContext(workUnitState), this.taskStateTracker, this.taskExecutor, Optional.of(countDownLatch)); } }
@Override public boolean awaitShutdown(long timeoutInMillis) throws InterruptedException { return this.underlyingTask.awaitShutdown(timeoutInMillis); }
@Override public State getExecutionMetadata() { return this.underlyingTask.getExecutionMetadata(); }
@Override public void shutdown() { this.underlyingTask.shutdown(); }
@Override public WorkUnitState.WorkingState getWorkingState() { return this.underlyingTask.getWorkingState(); }
@Override public TaskIFace createTask(TaskContext taskContext) { return new FailedTask(taskContext); }
@Override public boolean isSpeculativeExecutionSafe() { return this.underlyingTask.isSpeculativeExecutionSafe(); }
@Override public State getPersistentState() { return this.underlyingTask.getPersistentState(); }
@Override public void run() { try { this.underlyingTask.run(); } finally { this.taskStateTracker.onTaskRunCompletion(this); } }
@Override public void commit() { this.underlyingTask.commit(); this.taskStateTracker.onTaskCommitCompletion(this); }
@Override public State getPersistentState() { State state = super.getPersistentState(); state.setProp(PERSISTENT_STATE, this.taskId); return state; }
@Override public State getExecutionMetadata() { State state = super.getExecutionMetadata(); state.setProp(EXECUTION_METADATA, this.taskId); return state; } }
protected WorkUnit createWorkUnitForFailure (Dataset dataset, String reason) throws IOException { WorkUnit workUnit = new FailedTask.FailedWorkUnit(); workUnit.setProp(CompactionVerifier.COMPACTION_VERIFICATION_FAIL_REASON, reason); TaskUtils.setTaskFactoryClass(workUnit, CompactionFailedTask.CompactionFailedTaskFactory.class); suite.save (dataset, workUnit); return workUnit; }
/** * @return A {@link WorkUnit} that will run a {@link NoopTask}. */ public static WorkUnit noopWorkunit() { WorkUnit workUnit = new WorkUnit(); TaskUtils.setTaskFactoryClass(workUnit, Factory.class); return workUnit; }
@Override public List<WorkUnit> getWorkunits(SourceState state) { List<WorkUnit> workUnits = super.getWorkunits(state); for (WorkUnit workUnit : workUnits) { TaskUtils.setTaskFactoryClass(workUnit, SleepingTaskFactory.class); } return workUnits; } }