@Internal @NotThreadSafe public class SingleCheckpointBarrierHandler extends CheckpointBarrierHandler
SingleCheckpointBarrierHandler
is used for triggering checkpoint while reading the first
barrier and keeping track of the number of received barriers and consumed barriers. It can
handle/track just single checkpoint at a time. The behaviour when to actually trigger the
checkpoint and what the CheckpointableInput
should do is controlled by BarrierHandlerState
.Modifier and Type | Method and Description |
---|---|
static SingleCheckpointBarrierHandler |
aligned(String taskName,
AbstractInvokable toNotifyOnCheckpoint,
Clock clock,
int numOpenChannels,
java.util.function.BiFunction<Callable<?>,java.time.Duration,org.apache.flink.streaming.runtime.io.checkpointing.CheckpointBarrierHandler.Cancellable> registerTimer,
CheckpointableInput... inputs) |
static SingleCheckpointBarrierHandler |
alternating(String taskName,
AbstractInvokable toNotifyOnCheckpoint,
SubtaskCheckpointCoordinator checkpointCoordinator,
Clock clock,
int numOpenChannels,
java.util.function.BiFunction<Callable<?>,java.time.Duration,org.apache.flink.streaming.runtime.io.checkpointing.CheckpointBarrierHandler.Cancellable> registerTimer,
CheckpointableInput... inputs) |
void |
close() |
static SingleCheckpointBarrierHandler |
createUnalignedCheckpointBarrierHandler(SubtaskCheckpointCoordinator checkpointCoordinator,
String taskName,
AbstractInvokable toNotifyOnCheckpoint,
Clock clock,
CheckpointableInput... inputs) |
CompletableFuture<Void> |
getAllBarriersReceivedFuture(long checkpointId) |
long |
getLatestCheckpointId() |
protected boolean |
isCheckpointPending() |
void |
processBarrier(CheckpointBarrier barrier,
InputChannelInfo channelInfo) |
void |
processBarrierAnnouncement(CheckpointBarrier announcedBarrier,
int sequenceNumber,
InputChannelInfo channelInfo) |
void |
processCancellationBarrier(CancelCheckpointMarker cancelBarrier) |
void |
processEndOfPartition() |
String |
toString() |
static SingleCheckpointBarrierHandler |
unaligned(String taskName,
AbstractInvokable toNotifyOnCheckpoint,
SubtaskCheckpointCoordinator checkpointCoordinator,
Clock clock,
int numOpenChannels,
java.util.function.BiFunction<Callable<?>,java.time.Duration,org.apache.flink.streaming.runtime.io.checkpointing.CheckpointBarrierHandler.Cancellable> registerTimer,
CheckpointableInput... inputs) |
addProcessedBytes, getAlignmentDurationNanos, getCheckpointStartDelayNanos, getClock, markAlignmentEnd, markAlignmentEnd, markAlignmentStart, markAlignmentStartAndEnd, notifyAbort, notifyAbortOnCancellationBarrier, notifyCheckpoint, resetAlignment
@VisibleForTesting public static SingleCheckpointBarrierHandler createUnalignedCheckpointBarrierHandler(SubtaskCheckpointCoordinator checkpointCoordinator, String taskName, AbstractInvokable toNotifyOnCheckpoint, Clock clock, CheckpointableInput... inputs)
public static SingleCheckpointBarrierHandler unaligned(String taskName, AbstractInvokable toNotifyOnCheckpoint, SubtaskCheckpointCoordinator checkpointCoordinator, Clock clock, int numOpenChannels, java.util.function.BiFunction<Callable<?>,java.time.Duration,org.apache.flink.streaming.runtime.io.checkpointing.CheckpointBarrierHandler.Cancellable> registerTimer, CheckpointableInput... inputs)
public static SingleCheckpointBarrierHandler aligned(String taskName, AbstractInvokable toNotifyOnCheckpoint, Clock clock, int numOpenChannels, java.util.function.BiFunction<Callable<?>,java.time.Duration,org.apache.flink.streaming.runtime.io.checkpointing.CheckpointBarrierHandler.Cancellable> registerTimer, CheckpointableInput... inputs)
public static SingleCheckpointBarrierHandler alternating(String taskName, AbstractInvokable toNotifyOnCheckpoint, SubtaskCheckpointCoordinator checkpointCoordinator, Clock clock, int numOpenChannels, java.util.function.BiFunction<Callable<?>,java.time.Duration,org.apache.flink.streaming.runtime.io.checkpointing.CheckpointBarrierHandler.Cancellable> registerTimer, CheckpointableInput... inputs)
public void processBarrier(CheckpointBarrier barrier, InputChannelInfo channelInfo) throws IOException
processBarrier
in class CheckpointBarrierHandler
IOException
public void processBarrierAnnouncement(CheckpointBarrier announcedBarrier, int sequenceNumber, InputChannelInfo channelInfo) throws IOException
processBarrierAnnouncement
in class CheckpointBarrierHandler
IOException
public void processCancellationBarrier(CancelCheckpointMarker cancelBarrier) throws IOException
processCancellationBarrier
in class CheckpointBarrierHandler
IOException
public void processEndOfPartition() throws IOException
processEndOfPartition
in class CheckpointBarrierHandler
IOException
public long getLatestCheckpointId()
getLatestCheckpointId
in class CheckpointBarrierHandler
public void close() throws IOException
close
in interface Closeable
close
in interface AutoCloseable
close
in class CheckpointBarrierHandler
IOException
protected boolean isCheckpointPending()
isCheckpointPending
in class CheckpointBarrierHandler
public CompletableFuture<Void> getAllBarriersReceivedFuture(long checkpointId)
getAllBarriersReceivedFuture
in class CheckpointBarrierHandler
Copyright © 2014–2022 The Apache Software Foundation. All rights reserved.