zhuzhurk commented on a change in pull request #9791: [FLINK-14248][runtime] 
Let LazyFromSourcesSchedulingStrategy restart terminated tasks
URL: https://github.com/apache/flink/pull/9791#discussion_r330588245
 
 

 ##########
 File path: 
flink-runtime/src/main/java/org/apache/flink/runtime/scheduler/strategy/LazyFromSourcesSchedulingStrategy.java
 ##########
 @@ -78,19 +81,22 @@ public void startScheduling() {
                        deploymentOptions.put(schedulingVertex.getId(), option);
                }
 
-               
allocateSlotsAndDeployExecutionVertexIds(getAllVerticesFromTopology());
+               allocateSlotsAndDeployExecutionVertices(
+                       
getSchedulingExecutionVertices(getAllVerticesFromTopology()),
+                       IS_IN_CREATED_STATE);
        }
 
        @Override
-       public void restartTasks(Set<ExecutionVertexID> verticesToRestart) {
+       public void restartTasks(final Set<ExecutionVertexID> 
verticesToRestart) {
+               final Set<SchedulingExecutionVertex> verticesToSchedule = 
getSchedulingExecutionVertices(verticesToRestart);
+
                // increase counter of the dataset first
-               verticesToRestart
+               verticesToSchedule
                        .stream()
-                       .map(schedulingTopology::getVertexOrThrow)
                        .flatMap(vertex -> 
vertex.getProducedResultPartitions().stream())
                        
.forEach(inputConstraintChecker::resetSchedulingResultPartition);
 
-               allocateSlotsAndDeployExecutionVertexIds(verticesToRestart);
+               allocateSlotsAndDeployExecutionVertices(verticesToSchedule, 
IS_IN_TERMINAL_STATE);
 
 Review comment:
   I see your concerns.
   I'd also prefer to reset vertices before invoking `restartTasks()` on them. 
And the contract can be simplified that the schedulingStrategy should only 
schedule vertices which is in `CREATED` state.
   
   Previously I thought we have made the decision to do lazy resetting. But now 
I think it's reasonable to change this behaviour.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to