public class DefaultInputConsumableDecider extends Object implements InputConsumableDecider
InputConsumableDecider
. 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.
Modifier and Type | Class and Description |
---|---|
static class |
DefaultInputConsumableDecider.Factory
Factory for
DefaultInputConsumableDecider . |
Modifier and Type | Method and Description |
---|---|
boolean |
isConsumableBasedOnFinishedProducers(ConsumedPartitionGroup consumedPartitionGroup)
Determining whether the consumed partition group is consumable based on finished producers.
|
boolean |
isInputConsumable(SchedulingExecutionVertex executionVertex,
Set<ExecutionVertexID> verticesToSchedule,
Map<ConsumedPartitionGroup,Boolean> consumableStatusCache)
Determining whether the input of an execution vertex is consumable.
|
public boolean isInputConsumable(SchedulingExecutionVertex executionVertex, Set<ExecutionVertexID> verticesToSchedule, Map<ConsumedPartitionGroup,Boolean> consumableStatusCache)
InputConsumableDecider
isInputConsumable
in interface InputConsumableDecider
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 for ConsumedPartitionGroup
consumable status.
This is to avoid repetitive computation.public boolean isConsumableBasedOnFinishedProducers(ConsumedPartitionGroup consumedPartitionGroup)
InputConsumableDecider
isConsumableBasedOnFinishedProducers
in interface InputConsumableDecider
consumedPartitionGroup
- to be determined whether it is consumable.Copyright © 2014–2024 The Apache Software Foundation. All rights reserved.