Interface InputConsumableDecider
-
- All Known Implementing Classes:
AllFinishedInputConsumableDecider,DefaultInputConsumableDecider,PartialFinishedInputConsumableDecider
public interface InputConsumableDeciderInputConsumableDecideris responsible for determining whether the input of an executionVertex or a consumed partition group is consumable.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interfaceInputConsumableDecider.FactoryFactory forInputConsumableDecider.
-
Method Summary
All Methods Instance Methods Abstract 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
boolean isInputConsumable(SchedulingExecutionVertex executionVertex, Set<ExecutionVertexID> verticesToSchedule, Map<ConsumedPartitionGroup,Boolean> consumableStatusCache)
Determining whether the input of an execution vertex is consumable.- 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
boolean isConsumableBasedOnFinishedProducers(ConsumedPartitionGroup consumedPartitionGroup)
Determining whether the consumed partition group is consumable based on finished producers.- Parameters:
consumedPartitionGroup- to be determined whether it is consumable.
-
-