@Internal public class CheckpointBarrierTracker extends CheckpointBarrierHandler
CheckpointBarrierTracker keeps track of what checkpoint barriers have been received from
which input channels. Once it has observed all checkpoint barriers for a checkpoint ID,
it notifies its listener of a completed checkpoint.
Unlike the CheckpointBarrierAligner, the BarrierTracker does not block the input
channels that have sent barriers, so it cannot be used to gain "exactly-once" processing
guarantees. It can, however, be used to gain "at least once" processing guarantees.
NOTE: This implementation strictly assumes that newer checkpoints have higher checkpoint IDs.
| Constructor and Description |
|---|
CheckpointBarrierTracker(int totalNumberOfInputChannels) |
CheckpointBarrierTracker(int totalNumberOfInputChannels,
org.apache.flink.runtime.jobgraph.tasks.AbstractInvokable toNotifyOnCheckpoint) |
| Modifier and Type | Method and Description |
|---|---|
void |
checkpointSizeLimitExceeded(long maxBufferedBytes) |
long |
getAlignmentDurationNanos() |
long |
getLatestCheckpointId() |
boolean |
isBlocked(int channelIndex)
Checks whether the channel with the given index is blocked.
|
boolean |
processBarrier(org.apache.flink.runtime.io.network.api.CheckpointBarrier receivedBarrier,
int channelIndex,
long bufferedBytes) |
boolean |
processCancellationBarrier(org.apache.flink.runtime.io.network.api.CancelCheckpointMarker cancelBarrier) |
boolean |
processEndOfPartition() |
void |
releaseBlocksAndResetBarriers() |
notifyAbort, notifyAbortOnCancellationBarrier, notifyCheckpointpublic CheckpointBarrierTracker(int totalNumberOfInputChannels)
public CheckpointBarrierTracker(int totalNumberOfInputChannels,
@Nullable
org.apache.flink.runtime.jobgraph.tasks.AbstractInvokable toNotifyOnCheckpoint)
public void releaseBlocksAndResetBarriers()
releaseBlocksAndResetBarriers in class CheckpointBarrierHandlerpublic boolean isBlocked(int channelIndex)
CheckpointBarrierHandlerisBlocked in class CheckpointBarrierHandlerchannelIndex - The channel index to check.public boolean processBarrier(org.apache.flink.runtime.io.network.api.CheckpointBarrier receivedBarrier,
int channelIndex,
long bufferedBytes)
throws Exception
processBarrier in class CheckpointBarrierHandlerExceptionpublic boolean processCancellationBarrier(org.apache.flink.runtime.io.network.api.CancelCheckpointMarker cancelBarrier)
throws Exception
processCancellationBarrier in class CheckpointBarrierHandlerExceptionpublic boolean processEndOfPartition()
throws Exception
processEndOfPartition in class CheckpointBarrierHandlerExceptionpublic long getLatestCheckpointId()
getLatestCheckpointId in class CheckpointBarrierHandlerpublic long getAlignmentDurationNanos()
getAlignmentDurationNanos in class CheckpointBarrierHandlerpublic void checkpointSizeLimitExceeded(long maxBufferedBytes)
throws Exception
checkpointSizeLimitExceeded in class CheckpointBarrierHandlerExceptionCopyright © 2014–2020 The Apache Software Foundation. All rights reserved.