@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.
| 构造器和说明 |
|---|
CheckpointBarrierTracker(int totalNumberOfInputChannels) |
CheckpointBarrierTracker(int totalNumberOfInputChannels,
org.apache.flink.runtime.jobgraph.tasks.AbstractInvokable toNotifyOnCheckpoint) |
| 限定符和类型 | 方法和说明 |
|---|---|
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()
public boolean isBlocked(int channelIndex)
CheckpointBarrierHandlerisBlocked 在类中 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 在类中 CheckpointBarrierHandlerExceptionpublic boolean processCancellationBarrier(org.apache.flink.runtime.io.network.api.CancelCheckpointMarker cancelBarrier)
throws Exception
processCancellationBarrier 在类中 CheckpointBarrierHandlerExceptionpublic boolean processEndOfPartition()
throws Exception
processEndOfPartition 在类中 CheckpointBarrierHandlerExceptionpublic long getLatestCheckpointId()
public long getAlignmentDurationNanos()
public void checkpointSizeLimitExceeded(long maxBufferedBytes)
throws Exception
checkpointSizeLimitExceeded 在类中 CheckpointBarrierHandlerExceptionCopyright © 2014–2021 The Apache Software Foundation. All rights reserved.