Class CheckpointBarrierHandler
- java.lang.Object
-
- org.apache.flink.streaming.runtime.io.checkpointing.CheckpointBarrierHandler
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
- Direct Known Subclasses:
CheckpointBarrierTracker
,SingleCheckpointBarrierHandler
public abstract class CheckpointBarrierHandler extends Object implements Closeable
TheCheckpointBarrierHandler
reacts to checkpoint barrier arriving from the input channels. Different implementations may either simply track barriers, or block certain inputs on barriers.
-
-
Constructor Summary
Constructors Constructor Description CheckpointBarrierHandler(CheckpointableTask toNotifyOnCheckpoint, Clock clock, boolean enableCheckpointAfterTasksFinished)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
addProcessedBytes(int bytes)
void
close()
long
getAlignmentDurationNanos()
CompletableFuture<Void>
getAllBarriersReceivedFuture(long checkpointId)
long
getCheckpointStartDelayNanos()
protected Clock
getClock()
abstract long
getLatestCheckpointId()
protected abstract boolean
isCheckpointPending()
protected void
markAlignmentEnd()
protected void
markAlignmentEnd(long alignmentDuration)
protected void
markAlignmentStart(long checkpointId, long checkpointCreationTimestamp)
protected void
markAlignmentStartAndEnd(long checkpointId, long checkpointCreationTimestamp)
protected void
notifyAbort(long checkpointId, CheckpointException cause)
protected void
notifyAbortOnCancellationBarrier(long checkpointId)
protected void
notifyCheckpoint(CheckpointBarrier checkpointBarrier)
abstract void
processBarrier(CheckpointBarrier receivedBarrier, InputChannelInfo channelInfo, boolean isRpcTriggered)
abstract void
processBarrierAnnouncement(CheckpointBarrier announcedBarrier, int sequenceNumber, InputChannelInfo channelInfo)
abstract void
processCancellationBarrier(CancelCheckpointMarker cancelBarrier, InputChannelInfo channelInfo)
abstract void
processEndOfPartition(InputChannelInfo channelInfo)
protected void
resetAlignment()
-
-
-
Constructor Detail
-
CheckpointBarrierHandler
public CheckpointBarrierHandler(CheckpointableTask toNotifyOnCheckpoint, Clock clock, boolean enableCheckpointAfterTasksFinished)
-
-
Method Detail
-
close
public void close() throws IOException
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Throws:
IOException
-
processBarrier
public abstract void processBarrier(CheckpointBarrier receivedBarrier, InputChannelInfo channelInfo, boolean isRpcTriggered) throws IOException
- Throws:
IOException
-
processBarrierAnnouncement
public abstract void processBarrierAnnouncement(CheckpointBarrier announcedBarrier, int sequenceNumber, InputChannelInfo channelInfo) throws IOException
- Throws:
IOException
-
processCancellationBarrier
public abstract void processCancellationBarrier(CancelCheckpointMarker cancelBarrier, InputChannelInfo channelInfo) throws IOException
- Throws:
IOException
-
processEndOfPartition
public abstract void processEndOfPartition(InputChannelInfo channelInfo) throws IOException
- Throws:
IOException
-
getLatestCheckpointId
public abstract long getLatestCheckpointId()
-
getAlignmentDurationNanos
public long getAlignmentDurationNanos()
-
getCheckpointStartDelayNanos
public long getCheckpointStartDelayNanos()
-
getAllBarriersReceivedFuture
public CompletableFuture<Void> getAllBarriersReceivedFuture(long checkpointId)
-
notifyCheckpoint
protected void notifyCheckpoint(CheckpointBarrier checkpointBarrier) throws IOException
- Throws:
IOException
-
notifyAbortOnCancellationBarrier
protected void notifyAbortOnCancellationBarrier(long checkpointId) throws IOException
- Throws:
IOException
-
notifyAbort
protected void notifyAbort(long checkpointId, CheckpointException cause) throws IOException
- Throws:
IOException
-
markAlignmentStartAndEnd
protected void markAlignmentStartAndEnd(long checkpointId, long checkpointCreationTimestamp)
-
markAlignmentStart
protected void markAlignmentStart(long checkpointId, long checkpointCreationTimestamp)
-
markAlignmentEnd
protected void markAlignmentEnd()
-
markAlignmentEnd
protected void markAlignmentEnd(long alignmentDuration)
-
resetAlignment
protected void resetAlignment()
-
isCheckpointPending
protected abstract boolean isCheckpointPending()
-
addProcessedBytes
public void addProcessedBytes(int bytes)
-
getClock
protected final Clock getClock()
-
-