Class RegionPartitionGroupReleaseStrategy
- java.lang.Object
-
- org.apache.flink.runtime.executiongraph.failover.partitionrelease.RegionPartitionGroupReleaseStrategy
-
- All Implemented Interfaces:
PartitionGroupReleaseStrategy
,SchedulingTopologyListener
public class RegionPartitionGroupReleaseStrategy extends Object implements PartitionGroupReleaseStrategy, SchedulingTopologyListener
Releases blocking intermediate result partitions that are incident to aSchedulingPipelinedRegion
, as soon as the region's execution vertices are finished.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
RegionPartitionGroupReleaseStrategy.Factory
Factory forPartitionGroupReleaseStrategy
.
-
Constructor Summary
Constructors Constructor Description RegionPartitionGroupReleaseStrategy(SchedulingTopology schedulingTopology)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
isRegionOfVertexFinished(ExecutionVertexID executionVertexId)
void
notifySchedulingTopologyUpdated(SchedulingTopology schedulingTopology, List<ExecutionVertexID> newExecutionVertices)
Notifies that the scheduling topology is just updated.List<ConsumedPartitionGroup>
vertexFinished(ExecutionVertexID finishedVertex)
Calling this method informs the strategy that a vertex finished.void
vertexUnfinished(ExecutionVertexID executionVertexId)
Calling this method informs the strategy that a vertex is no longer in finished state, e.g., when a vertex is re-executed.
-
-
-
Constructor Detail
-
RegionPartitionGroupReleaseStrategy
public RegionPartitionGroupReleaseStrategy(SchedulingTopology schedulingTopology)
-
-
Method Detail
-
vertexFinished
public List<ConsumedPartitionGroup> vertexFinished(ExecutionVertexID finishedVertex)
Description copied from interface:PartitionGroupReleaseStrategy
Calling this method informs the strategy that a vertex finished.- Specified by:
vertexFinished
in interfacePartitionGroupReleaseStrategy
- Parameters:
finishedVertex
- Id of the vertex that finished the execution- Returns:
- A list of
ConsumedPartitionGroups
that can be released
-
vertexUnfinished
public void vertexUnfinished(ExecutionVertexID executionVertexId)
Description copied from interface:PartitionGroupReleaseStrategy
Calling this method informs the strategy that a vertex is no longer in finished state, e.g., when a vertex is re-executed.- Specified by:
vertexUnfinished
in interfacePartitionGroupReleaseStrategy
- Parameters:
executionVertexId
- Id of the vertex that is no longer in finished state.
-
isRegionOfVertexFinished
@VisibleForTesting public boolean isRegionOfVertexFinished(ExecutionVertexID executionVertexId)
-
notifySchedulingTopologyUpdated
public void notifySchedulingTopologyUpdated(SchedulingTopology schedulingTopology, List<ExecutionVertexID> newExecutionVertices)
Description copied from interface:SchedulingTopologyListener
Notifies that the scheduling topology is just updated.- Specified by:
notifySchedulingTopologyUpdated
in interfaceSchedulingTopologyListener
- Parameters:
schedulingTopology
- the scheduling topology which is just updatednewExecutionVertices
- the newly added execution vertices.
-
-