@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, notifyCheckpoint
public CheckpointBarrierTracker(int totalNumberOfInputChannels)
public CheckpointBarrierTracker(int totalNumberOfInputChannels, @Nullable org.apache.flink.runtime.jobgraph.tasks.AbstractInvokable toNotifyOnCheckpoint)
public void releaseBlocksAndResetBarriers()
public boolean isBlocked(int channelIndex)
CheckpointBarrierHandler
isBlocked
在类中 CheckpointBarrierHandler
channelIndex
- The channel index to check.public boolean processBarrier(org.apache.flink.runtime.io.network.api.CheckpointBarrier receivedBarrier, int channelIndex, long bufferedBytes) throws Exception
processBarrier
在类中 CheckpointBarrierHandler
Exception
public boolean processCancellationBarrier(org.apache.flink.runtime.io.network.api.CancelCheckpointMarker cancelBarrier) throws Exception
processCancellationBarrier
在类中 CheckpointBarrierHandler
Exception
public boolean processEndOfPartition() throws Exception
processEndOfPartition
在类中 CheckpointBarrierHandler
Exception
public long getLatestCheckpointId()
public long getAlignmentDurationNanos()
public void checkpointSizeLimitExceeded(long maxBufferedBytes) throws Exception
checkpointSizeLimitExceeded
在类中 CheckpointBarrierHandler
Exception
Copyright © 2014–2020 The Apache Software Foundation. All rights reserved.