azagrebin opened a new pull request #13730:
URL: https://github.com/apache/flink/pull/13730


   ## What is the purpose of the change
   
   The pipelined region scheduling strategy schedules regions once all their 
input blocking dependencies are ready.
   The `SlotSharingGroups` of the region can include executions of other 
regions which are not scheduled yet including their dependencies. Hence we 
should not wait other unavailable input dependencies to unblock the current 
region scheduling.
   
   ## Brief change log
   
   The PR moves `PreferredLocationsRetriever` creation from `SchedulerBase` to 
the `ExecutionSlotAllocatorFactories`.
   Then the legacy allocator continues to use the 
`DefaultPreferredLocationsRetriever`.
   The new `SlotSharingExecutionSlotAllocator` creates the 
`DefaultSyncPreferredLocationsRetriever`
   where the original `InputsLocationsRetriever` is wrapped with the 
`AvailableInputsLocationsRetriever`.
   It makes the `InputsLocationsRetriever` return only completed input location 
futures, others are filtered out.
   This allows to return completed future from 
`DefaultSyncPreferredLocationsRetriever` and make it synchronous and 
non-blocking.
   
   ## Verifying this change
   
   unit tests


----------------------------------------------------------------
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]


Reply via email to