Versions Compared

Key

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

...

Member fields of ExecutionVertex need bigger reconstruction.So change the currentExecution in ExecutionVertex to an arrayList ArrayList named executionList(The purpose of using list is to increase the code extensibility, in case that multiple speculative executions will run at the same time in the future), which means that there can be multiple executions in an ExecutionVertex at the same time and for .For each execution in executionList there is no difference of the behavior such as failover, request slot etc between them.

...

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 in scheduler logical. Also when task failover, executionIndex also should be calculated by fail task's ExecutionAttemptID so that scheduler knows which execution in executionList should be restart.


Code Block
languagejava
titleExecutionVertexIDAndExecutionIndex.java
public class ExecutionVertexIDAndExecutionIndex {
    private ExecutionVertexID executionVertexID;
    private Integer executionIndex;
}

...