Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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
languagejava
titleExecutionVertexIDAndExecutionIndex.java
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
languagejava
titleSchedulerNG interface extension
public interface SchedulerNG extends AutoCloseableAsync {
	default void schedulingSpeculativeExecutions(List<ExecutionVertexIDAndExecutionIndex> verticesToSchedule) {
        throw new UnsupportedOperationException();
    }
}

...