@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,
AbstractInvokable toNotifyOnCheckpoint) |
Modifier and Type | Method and Description |
---|---|
long |
getLatestCheckpointId() |
boolean |
isCheckpointPending() |
void |
processBarrier(CheckpointBarrier receivedBarrier,
InputChannelInfo channelInfo) |
void |
processCancellationBarrier(CancelCheckpointMarker cancelBarrier) |
void |
processEndOfPartition() |
abortPendingCheckpoint, close, executeInTaskThread, getAlignmentDurationNanos, getAllBarriersReceivedFuture, getBufferReceivedListener, getCheckpointStartDelayNanos, hasInflightData, isBlocked, markCheckpointStart, notifyAbort, notifyAbortOnCancellationBarrier, notifyCheckpoint, releaseBlocksAndResetBarriers
public CheckpointBarrierTracker(int totalNumberOfInputChannels, AbstractInvokable toNotifyOnCheckpoint)
public void processBarrier(CheckpointBarrier receivedBarrier, InputChannelInfo channelInfo) throws Exception
processBarrier
in class CheckpointBarrierHandler
Exception
public void processCancellationBarrier(CancelCheckpointMarker cancelBarrier) throws Exception
processCancellationBarrier
in class CheckpointBarrierHandler
Exception
public void processEndOfPartition() throws Exception
processEndOfPartition
in class CheckpointBarrierHandler
Exception
public long getLatestCheckpointId()
getLatestCheckpointId
in class CheckpointBarrierHandler
public boolean isCheckpointPending()
isCheckpointPending
in class CheckpointBarrierHandler
Copyright © 2014–2021 The Apache Software Foundation. All rights reserved.