THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
The scheduler should scheduling an execution according to the index of this execution in executionList instead of default to scheduling the currentExecution. So we need change ExecutionVertexID to ExecutionVertexIDAndExecutionIndex which represent which execution in ExecutionVertex should be scheduling.
Code Block | ||||
---|---|---|---|---|
| ||||
public class ExecutionVertexIDAndExecutionIndex {
private ExecutionVertexID executionVertexID;
private Integer executionIndex;
} |
In order to reuse code of scheduler, we need to extend the interface with an additional method:
Code Block | ||||
---|---|---|---|---|
| ||||
public interface SchedulerNG extends AutoCloseableAsync { default void schedulingSpeculativeExecutions(List<ExecutionVertexIDAndExecutionIndex> verticesToSchedule) { throw new UnsupportedOperationException(); } } |
...