use of com.netflix.titus.api.jobmanager.model.job.Task in project titus-control-plane by Netflix.
the class CassandraJobStoreTest method testRetrieveArchivedTaskCountForJob.
@Test
public void testRetrieveArchivedTaskCountForJob() {
JobStore store = getJobStore();
Job<BatchJobExt> job = createFinishedBatchJobObject();
store.init().await();
store.storeJob(job).await();
Pair<List<Job<?>>, Integer> jobsAndErrors = store.retrieveJobs().toBlocking().first();
checkRetrievedJob(job, jobsAndErrors.getLeft().get(0));
Task task = createFinishedTaskObject(job);
store.storeTask(task).await();
store.deleteTask(task).await();
Long count = store.retrieveArchivedTaskCountForJob(job.getId()).toBlocking().first();
assertThat(count).isEqualTo(1);
}
use of com.netflix.titus.api.jobmanager.model.job.Task in project titus-control-plane by Netflix.
the class CassandraJobStoreTest method testDeleteArchivedTask.
@Test
public void testDeleteArchivedTask() {
JobStore store = getJobStore();
Job<BatchJobExt> job = createFinishedBatchJobObject();
store.init().await();
store.storeJob(job).await();
Pair<List<Job<?>>, Integer> jobsAndErrors = store.retrieveJobs().toBlocking().first();
checkRetrievedJob(job, jobsAndErrors.getLeft().get(0));
Task task = createFinishedTaskObject(job);
store.storeTask(task).await();
store.deleteTask(task).await();
Long count = store.retrieveArchivedTaskCountForJob(job.getId()).toBlocking().first();
assertThat(count).isEqualTo(1);
store.deleteArchivedTask(job.getId(), task.getId()).await();
Long count2 = store.retrieveArchivedTaskCountForJob(job.getId()).toBlocking().first();
assertThat(count2).isEqualTo(0);
}
use of com.netflix.titus.api.jobmanager.model.job.Task in project titus-control-plane by Netflix.
the class CassandraJobStoreTest method testRetrieveTask.
@Test
public void testRetrieveTask() {
JobStore store = getJobStore();
Job<BatchJobExt> job = createBatchJobObject();
store.init().await();
store.storeJob(job).await();
Pair<List<Job<?>>, Integer> jobsAndErrors = store.retrieveJobs().toBlocking().first();
checkRetrievedJob(job, jobsAndErrors.getLeft().get(0));
Task task = createTaskObject(job);
store.storeTask(task).await();
Task retrievedTask = store.retrieveTask(task.getId()).toBlocking().first();
checkRetrievedTask(task, retrievedTask);
// Check that archive access does not return anything.
try {
store.retrieveArchivedTask(task.getId()).toBlocking().first();
fail("Should not return active task");
} catch (JobStoreException e) {
assertThat(e.getErrorCode()).isEqualTo(JobStoreException.ErrorCode.TASK_DOES_NOT_EXIST);
}
}
use of com.netflix.titus.api.jobmanager.model.job.Task in project titus-control-plane by Netflix.
the class CassandraJobStoreTest method testRetrieveArchivedTask.
private void testRetrieveArchivedTask(boolean archive) {
JobStore store = getJobStore();
Job<BatchJobExt> job = createFinishedBatchJobObject();
store.init().await();
store.storeJob(job).await();
Pair<List<Job<?>>, Integer> jobsAndErrors = store.retrieveJobs().toBlocking().first();
checkRetrievedJob(job, jobsAndErrors.getLeft().get(0));
Task task = createFinishedTaskObject(job);
store.storeTask(task).await();
if (archive) {
store.deleteTask(task).await();
}
Task archivedTask = store.retrieveArchivedTask(task.getId()).toBlocking().first();
checkRetrievedTask(task, archivedTask);
}
use of com.netflix.titus.api.jobmanager.model.job.Task in project titus-control-plane by Netflix.
the class CassandraJobStoreTest method testMoveTask.
@Test
public void testMoveTask() {
JobStore store = getJobStore();
store.init().await();
Job<ServiceJobExt> jobFrom = createServiceJobObject();
store.storeJob(jobFrom).await();
Job<ServiceJobExt> jobTo = createServiceJobObject();
store.storeJob(jobTo).await();
Task task = createServiceTaskObject(jobFrom);
store.storeTask(task).await();
Job<ServiceJobExt> updatedFromJob = JobFunctions.incrementJobSize(jobFrom, -1);
Job<ServiceJobExt> updatedToJob = JobFunctions.incrementJobSize(jobTo, 1);
Task updatedTask = task.toBuilder().withJobId(updatedToJob.getId()).build();
store.moveTask(updatedFromJob, updatedToJob, updatedTask).await();
// Load jobFrom from store
Job<?> jobFromLoaded = store.retrieveJob(jobFrom.getId()).toBlocking().first();
assertThat(JobFunctions.getJobDesiredSize(jobFromLoaded)).isEqualTo(0);
Pair<List<Task>, Integer> jobFromTasksLoaded = store.retrieveTasksForJob(jobFrom.getId()).toBlocking().first();
assertThat(jobFromTasksLoaded.getLeft()).hasSize(0);
// Load jobTo from store
Job<?> jobToLoaded = store.retrieveJob(jobTo.getId()).toBlocking().first();
assertThat(JobFunctions.getJobDesiredSize(jobToLoaded)).isEqualTo(2);
Pair<List<Task>, Integer> jobToTasksLoaded = store.retrieveTasksForJob(jobTo.getId()).toBlocking().first();
assertThat(jobToTasksLoaded.getLeft()).hasSize(1);
jobToTasksLoaded.getLeft().forEach(t -> assertThat(t.getJobId()).isEqualTo(jobTo.getId()));
}
Aggregations