use of com.netflix.titus.api.relocation.model.TaskRelocationStatus in project titus-control-plane by Netflix.
the class TaskEvictionStepTest method testSuccessfulEviction.
@Test
public void testSuccessfulEviction() {
Job<BatchJobExt> job = TestDataFactory.newBatchJob("job1", 1, newSelfManagedDisruptionBudget(1_000));
relocationConnectorStubs.addJob(job);
relocationConnectorStubs.setQuota("job1", 1);
Task task = jobOperations.getTasks().get(0);
relocationConnectorStubs.place(TestDataFactory.REMOVABLE_INSTANCE_GROUP_ID, task);
TaskRelocationPlan taskRelocationPlan = oneMigrationPlan().toBuilder().withTaskId(task.getId()).build();
Map<String, TaskRelocationStatus> result = step.evict(Collections.singletonMap(task.getId(), taskRelocationPlan));
assertThat(result).hasSize(1);
TaskRelocationStatus relocationStatus = result.get(task.getId());
assertThat(relocationStatus.getTaskId()).isEqualTo(task.getId());
assertThat(relocationStatus.getStatusCode()).isEqualTo(TaskRelocationStatus.STATUS_CODE_TERMINATED);
assertThat(relocationStatus.getTaskRelocationPlan()).isEqualTo(taskRelocationPlan);
}
use of com.netflix.titus.api.relocation.model.TaskRelocationStatus in project titus-control-plane by Netflix.
the class JooqTaskRelocationResultStore method removeFromCache.
/**
* Remove from cache garbage collected entries.
*/
void removeFromCache(List<Pair<String, Long>> toRemove) {
toRemove.forEach(p -> {
String taskId = p.getLeft();
long timestamp = p.getRight();
TaskRelocationStatus status = statusesByTaskId.getIfPresent(taskId);
if (status != null && status.getTimestamp() == timestamp) {
statusesByTaskId.invalidate(taskId);
}
});
}
Aggregations