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 classRegionPartitionGroupReleaseStrategy.FactoryFactory forPartitionGroupReleaseStrategy.
-
Constructor Summary
Constructors Constructor Description RegionPartitionGroupReleaseStrategy(SchedulingTopology schedulingTopology)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanisRegionOfVertexFinished(ExecutionVertexID executionVertexId)voidnotifySchedulingTopologyUpdated(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.voidvertexUnfinished(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:PartitionGroupReleaseStrategyCalling this method informs the strategy that a vertex finished.- Specified by:
vertexFinishedin interfacePartitionGroupReleaseStrategy- Parameters:
finishedVertex- Id of the vertex that finished the execution- Returns:
- A list of
ConsumedPartitionGroupsthat can be released
-
vertexUnfinished
public void vertexUnfinished(ExecutionVertexID executionVertexId)
Description copied from interface:PartitionGroupReleaseStrategyCalling this method informs the strategy that a vertex is no longer in finished state, e.g., when a vertex is re-executed.- Specified by:
vertexUnfinishedin 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:SchedulingTopologyListenerNotifies that the scheduling topology is just updated.- Specified by:
notifySchedulingTopologyUpdatedin interfaceSchedulingTopologyListener- Parameters:
schedulingTopology- the scheduling topology which is just updatednewExecutionVertices- the newly added execution vertices.
-
-