Search in sources :

Example 1 with State

use of com.linkedin.kafka.cruisecontrol.executor.ExecutionTask.State in project cruise-control by linkedin.

the class ExecutionTaskManagerTest method changeTaskState.

private void changeTaskState(ExecutionTask.State state, ExecutionTask task, ExecutionTaskManager taskManager) {
    switch(state) {
        case IN_PROGRESS:
            taskManager.markTasksInProgress(Collections.singletonList(task));
            assertEquals(0, taskManager.remainingPartitionMovements().size());
            assertEquals(0, taskManager.remainingLeaderMovements().size());
            assertEquals(1, taskManager.inProgressTasks().size());
            assertEquals(0, taskManager.abortingTasks().size());
            assertEquals(0, taskManager.abortedTasks().size());
            assertEquals(0, taskManager.deadTasks().size());
            break;
        case ABORTING:
            taskManager.markTaskAborting(task);
            assertEquals(0, taskManager.remainingPartitionMovements().size());
            assertEquals(0, taskManager.remainingLeaderMovements().size());
            assertEquals(0, taskManager.inProgressTasks().size());
            assertEquals(1, taskManager.abortingTasks().size());
            assertEquals(0, taskManager.abortedTasks().size());
            assertEquals(0, taskManager.deadTasks().size());
            break;
        case DEAD:
            taskManager.markTaskDead(task);
            assertEquals(0, taskManager.remainingPartitionMovements().size());
            assertEquals(0, taskManager.remainingLeaderMovements().size());
            assertEquals(0, taskManager.inProgressTasks().size());
            assertEquals(0, taskManager.abortingTasks().size());
            assertEquals(0, taskManager.abortedTasks().size());
            assertEquals(1, taskManager.deadTasks().size());
            break;
        case ABORTED:
        case COMPLETED:
            ExecutionTask.State origState = task.state();
            taskManager.markTaskDone(task);
            assertEquals(0, taskManager.remainingPartitionMovements().size());
            assertEquals(0, taskManager.remainingLeaderMovements().size());
            assertEquals(0, taskManager.inProgressTasks().size());
            assertEquals(0, taskManager.abortingTasks().size());
            assertEquals(origState == ExecutionTask.State.ABORTING ? 1 : 0, taskManager.abortedTasks().size());
            assertEquals(0, taskManager.deadTasks().size());
            break;
        default:
            throw new IllegalArgumentException("Invalid state " + state);
    }
    assertEquals(state, task.state());
}
Also used : State(com.linkedin.kafka.cruisecontrol.executor.ExecutionTask.State)

Aggregations

State (com.linkedin.kafka.cruisecontrol.executor.ExecutionTask.State)1