in myriad-scheduler/src/main/java/org/apache/myriad/state/SchedulerState.java [421:447]
private void convertToThis(TaskState taskType, Set<Protos.TaskID> taskIds) {
for (Protos.TaskID taskId : taskIds) {
String taskPrefix = taskIdPattern.split(taskId.getValue())[0];
SchedulerStateForType taskTypeState = statesForTaskType.get(taskPrefix);
if (taskTypeState == null) {
taskTypeState = new SchedulerStateForType(taskPrefix);
statesForTaskType.put(taskPrefix, taskTypeState);
}
switch (taskType) {
case PENDING:
taskTypeState.makeTaskPending(taskId);
break;
case STAGING:
taskTypeState.makeTaskStaging(taskId);
break;
case ACTIVE:
taskTypeState.makeTaskActive(taskId);
break;
case KILLABLE:
taskTypeState.makeTaskKillable(taskId);
break;
case LOST:
taskTypeState.makeTaskLost(taskId);
break;
}
}
}