use of org.ow2.proactive.scheduler.common.exception.UnknownTaskException in project scheduling by ow2-proactive.
the class TaskResultCreatorTest method testThatEmptyTaskResultIsUsedWhenResultIsNotInDatabase.
@Test
public void testThatEmptyTaskResultIsUsedWhenResultIsNotInDatabase() throws UnknownTaskException {
TaskResultCreator taskResultCreator = spy(TaskResultCreator.class);
TaskResultImpl mockedTaskResultImpl = mock(TaskResultImpl.class);
doReturn(mockedTaskResultImpl).when(taskResultCreator).getEmptyTaskResult(any(InternalTask.class), any(Throwable.class), any(TaskLogs.class));
Map<TaskId, TaskResult> loadTaskResultsValue = new HashMap<>();
loadTaskResultsValue.put(this.createTaskID(), mockedTaskResultImpl);
SchedulerDBManager mockedschedulerDbManager = mock(SchedulerDBManager.class);
when(mockedschedulerDbManager.loadTasksResults(any(JobId.class), any(List.class))).thenThrow(DatabaseManagerException.class);
taskResultCreator.getTaskResult(mockedschedulerDbManager, this.getMockedInternalJob(this.getMockedJobDescriptorWithPausedTask()), this.getMockedInternalTask());
verify(mockedTaskResultImpl).setPropagatedVariables(any(Map.class));
}
use of org.ow2.proactive.scheduler.common.exception.UnknownTaskException in project scheduling by ow2-proactive.
the class LiveJobsTest method testRestartTaskOnNodeRunning0ExecutionsLeft.
@Test(timeout = 60000)
public void testRestartTaskOnNodeRunning0ExecutionsLeft() throws UnknownJobException, UnknownTaskException {
PASchedulerProperties.NUMBER_OF_EXECUTION_ON_FAILURE.updateProperty("0");
InternalJob job = new InternalTaskFlowJob("test-name", JobPriority.NORMAL, OnTaskError.CANCEL_JOB, "description");
JobId id = new JobIdImpl(666L, "test-name");
job.setId(id);
List<InternalTask> tasksList = new ArrayList<>();
InternalScriptTask internalTask = new InternalScriptTask(job);
internalTask.setName("task-name");
internalTask.setStatus(TaskStatus.RUNNING);
internalTask.setMaxNumberOfExecution(5);
internalTask.setExecuterInformation(Mockito.mock(ExecuterInformation.class));
tasksList.add(internalTask);
job.setTasks(tasksList);
liveJobs.jobSubmitted(job);
liveJobs.lockJobsToSchedule();
liveJobs.taskStarted(job, job.getTask("task-name"), null);
assertThat(internalTask.getMaxNumberOfExecutionOnFailure(), is(0));
assertThat(internalTask.getTaskInfo().getNumberOfExecutionOnFailureLeft(), is(0));
liveJobs.restartTaskOnNodeFailure(internalTask);
internalTask.setStatus(TaskStatus.RUNNING);
Mockito.verify(dbManager, Mockito.times(0)).taskRestarted(job, internalTask, null);
}
use of org.ow2.proactive.scheduler.common.exception.UnknownTaskException in project scheduling by ow2-proactive.
the class LiveJobsTest method testGetRunningTaskByTaskId.
@Test(timeout = 600000)
public void testGetRunningTaskByTaskId() throws UnknownTaskException {
PASchedulerProperties.NUMBER_OF_EXECUTION_ON_FAILURE.updateProperty("5");
JobId id = new JobIdImpl(666L, "test-name");
TaskId tid = TaskIdImpl.createTaskId(id, "task-name", 0L);
submitJobAndStartTask(id, tid);
JobId id2 = new JobIdImpl(667L, "test-name");
TaskId tid2 = TaskIdImpl.createTaskId(id2, "task-name2", 0L);
submitJobAndStartTask(id2, tid2);
JobId id3 = new JobIdImpl(668L, "test-name");
TaskId tid3 = TaskIdImpl.createTaskId(id3, "task-name3", 0L);
submitJobAndStartTask(id3, tid3);
JobId id4 = new JobIdImpl(669L, "test-name");
TaskId tid4 = TaskIdImpl.createTaskId(id4, "task-name4", 0L);
submitJobAndStartTask(id4, tid4);
JobId id5 = new JobIdImpl(670L, "test-name");
TaskId tid5 = TaskIdImpl.createTaskId(id5, "task-name5", 0L);
submitJobAndStartTask(id5, tid5);
assertThat(liveJobs.getRunningTasks().size(), is(5));
assertThat(liveJobs.getRunningTask(tid).getTask().getName(), is("task-name"));
assertThat(liveJobs.getRunningTask(tid).getTask().getJobId(), is(id));
}
use of org.ow2.proactive.scheduler.common.exception.UnknownTaskException in project scheduling by ow2-proactive.
the class LiveJobsTest method testLockJobsToSchedule.
@Test(timeout = 60000)
public void testLockJobsToSchedule() throws UnknownJobException, UnknownTaskException {
InternalJob job = new InternalTaskFlowJob("test-name", JobPriority.NORMAL, OnTaskError.CANCEL_JOB, "description");
JobId id = new JobIdImpl(666L, "test-name");
job.setId(id);
List<InternalTask> tasksList = new ArrayList<>();
InternalTask internalTask = new InternalScriptTask(job);
internalTask.setName("task-name");
tasksList.add(internalTask);
job.setTasks(tasksList);
liveJobs.jobSubmitted(job);
liveJobs.pauseJob(id);
assertThat(liveJobs.lockJobsToSchedule().size(), is(1));
}
use of org.ow2.proactive.scheduler.common.exception.UnknownTaskException in project scheduling by ow2-proactive.
the class LiveJobsTest method testCanPingTask.
@Test(timeout = 60000)
public void testCanPingTask() throws UnknownJobException, UnknownTaskException {
InternalJob job = new InternalTaskFlowJob("test-name", JobPriority.NORMAL, OnTaskError.CANCEL_JOB, "description");
JobId id = new JobIdImpl(666L, "test-name");
job.setId(id);
List<InternalTask> tasksList = new ArrayList<>();
InternalTask internalTask = new InternalScriptTask(job);
TaskId taskId = TaskIdImpl.createTaskId(id, "task-name", 777L);
internalTask.setId(taskId);
internalTask.setName("task-name");
internalTask.setStatus(TaskStatus.RUNNING);
internalTask.setExecuterInformation(Mockito.mock(ExecuterInformation.class));
tasksList.add(internalTask);
job.setTasks(tasksList);
liveJobs.jobSubmitted(job);
liveJobs.lockJobsToSchedule();
liveJobs.taskStarted(job, job.getTask("task-name"), null);
assertThat(liveJobs.canPingTask(liveJobs.getRunningTasks().iterator().next()), is(true));
}
Aggregations