Class DefaultInputConsumableDecider
- java.lang.Object
-
- org.apache.flink.runtime.scheduler.strategy.DefaultInputConsumableDecider
-
- All Implemented Interfaces:
InputConsumableDecider
public class DefaultInputConsumableDecider extends Object implements InputConsumableDecider
Default implementation ofInputConsumableDecider. This decider will judge whether the executionVertex's inputs are consumable as follows:For blocking consumed partition group: Whether all result partitions in the group are finished.
For canBePipelined consumed partition group: whether all result partitions in the group are scheduled.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classDefaultInputConsumableDecider.FactoryFactory forDefaultInputConsumableDecider.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanisConsumableBasedOnFinishedProducers(ConsumedPartitionGroup consumedPartitionGroup)Determining whether the consumed partition group is consumable based on finished producers.booleanisInputConsumable(SchedulingExecutionVertex executionVertex, Set<ExecutionVertexID> verticesToSchedule, Map<ConsumedPartitionGroup,Boolean> consumableStatusCache)Determining whether the input of an execution vertex is consumable.
-
-
-
Method Detail
-
isInputConsumable
public boolean isInputConsumable(SchedulingExecutionVertex executionVertex, Set<ExecutionVertexID> verticesToSchedule, Map<ConsumedPartitionGroup,Boolean> consumableStatusCache)
Description copied from interface:InputConsumableDeciderDetermining whether the input of an execution vertex is consumable.- Specified by:
isInputConsumablein interfaceInputConsumableDecider- Parameters:
executionVertex- to be determined whether it's input is consumable.verticesToSchedule- vertices that are not yet scheduled but already decided to be scheduled.consumableStatusCache- a cache forConsumedPartitionGroupconsumable status. This is to avoid repetitive computation.
-
isConsumableBasedOnFinishedProducers
public boolean isConsumableBasedOnFinishedProducers(ConsumedPartitionGroup consumedPartitionGroup)
Description copied from interface:InputConsumableDeciderDetermining whether the consumed partition group is consumable based on finished producers.- Specified by:
isConsumableBasedOnFinishedProducersin interfaceInputConsumableDecider- Parameters:
consumedPartitionGroup- to be determined whether it is consumable.
-
-