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]
