Class ForStSnapshotStrategyBase<K,R extends org.apache.flink.runtime.state.SnapshotResources>
java.lang.Object
org.apache.flink.state.forst.snapshot.ForStSnapshotStrategyBase<K,R>
- Type Parameters:
K- type of the backend keys.
- All Implemented Interfaces:
AutoCloseable,org.apache.flink.api.common.state.CheckpointListener,org.apache.flink.runtime.state.SnapshotStrategy<org.apache.flink.runtime.state.KeyedStateHandle,R>
- Direct Known Subclasses:
ForStNativeFullSnapshotStrategy
public abstract class ForStSnapshotStrategyBase<K,R extends org.apache.flink.runtime.state.SnapshotResources>
extends Object
implements org.apache.flink.api.common.state.CheckpointListener, org.apache.flink.runtime.state.SnapshotStrategy<org.apache.flink.runtime.state.KeyedStateHandle,R>, AutoCloseable
Abstract base class for
SnapshotStrategy implementations for ForSt state backend.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static classASnapshotResourcesfor native ForSt snapshot.protected classCommon operation in native ForSt snapshot result supplier.protected static classASnapshotResourcesfor forst sync snapshot.protected static classPrevious snapshot with uploaded sst files.Nested classes/interfaces inherited from interface org.apache.flink.runtime.state.SnapshotStrategy
org.apache.flink.runtime.state.SnapshotStrategy.SnapshotResultSupplier<S extends org.apache.flink.runtime.state.StateObject> -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final UUIDThe state handle ids of all sst files materialized in snapshots for previous checkpoints.protected final org.forstdb.RocksDBForSt instance from the backend.protected static final ForStSnapshotStrategyBase.PreviousSnapshotprotected final intNumber of bytes in the key-group prefix.protected final org.apache.flink.runtime.state.KeyGroupRangeThe key-group range for the task.protected final org.apache.flink.api.common.typeutils.TypeSerializer<K>The key serializer of the backend.protected final LinkedHashMap<String,ForStOperationUtils.ForStKvStateInfo> Key/Value state meta info from the backend.protected final ForStResourceContainerprotected final org.apache.flink.util.ResourceGuardResource guard for the ForSt instance. -
Constructor Summary
ConstructorsConstructorDescriptionForStSnapshotStrategyBase(String description, org.forstdb.RocksDB db, org.apache.flink.util.ResourceGuard resourceGuard, ForStResourceContainer resourceContainer, org.apache.flink.api.common.typeutils.TypeSerializer<K> keySerializer, LinkedHashMap<String, ForStOperationUtils.ForStKvStateInfo> kvStateInformation, org.apache.flink.runtime.state.KeyGroupRange keyGroupRange, int keyGroupPrefixBytes, UUID backendUID) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidcleanupIncompleteSnapshot(org.apache.flink.core.fs.CloseableRegistry tmpResourcesRegistry, org.apache.flink.runtime.state.SnapshotDirectory localBackupDirectory) abstract voidclose()protected org.apache.flink.runtime.state.SnapshotResult<org.apache.flink.runtime.state.StreamStateHandle>materializeMetaData(org.apache.flink.core.fs.CloseableRegistry snapshotCloseableRegistry, org.apache.flink.core.fs.CloseableRegistry tmpResourcesRegistry, List<org.apache.flink.runtime.state.metainfo.StateMetaInfoSnapshot> stateMetaInfoSnapshots, long checkpointId, org.apache.flink.runtime.state.CheckpointStreamFactory checkpointStreamFactory) protected abstract ForStSnapshotStrategyBase.PreviousSnapshotsnapshotMetaData(long checkpointId, List<org.apache.flink.runtime.state.metainfo.StateMetaInfoSnapshot> stateMetaInfoSnapshots) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.flink.api.common.state.CheckpointListener
notifyCheckpointAborted, notifyCheckpointCompleteMethods inherited from interface org.apache.flink.runtime.state.SnapshotStrategy
asyncSnapshot, syncPrepareResources
-
Field Details
-
db
@Nonnull protected final org.forstdb.RocksDB dbForSt instance from the backend. -
resourceGuard
@Nonnull protected final org.apache.flink.util.ResourceGuard resourceGuardResource guard for the ForSt instance. -
resourceContainer
-
keySerializer
The key serializer of the backend. -
kvStateInformation
@Nonnull protected final LinkedHashMap<String,ForStOperationUtils.ForStKvStateInfo> kvStateInformationKey/Value state meta info from the backend. -
keyGroupRange
@Nonnull protected final org.apache.flink.runtime.state.KeyGroupRange keyGroupRangeThe key-group range for the task. -
keyGroupPrefixBytes
@Nonnegative protected final int keyGroupPrefixBytesNumber of bytes in the key-group prefix. -
backendUID
The state handle ids of all sst files materialized in snapshots for previous checkpoints. -
EMPTY_PREVIOUS_SNAPSHOT
-
-
Constructor Details
-
ForStSnapshotStrategyBase
public ForStSnapshotStrategyBase(@Nonnull String description, @Nonnull org.forstdb.RocksDB db, @Nonnull org.apache.flink.util.ResourceGuard resourceGuard, @Nonnull ForStResourceContainer resourceContainer, @Nonnull org.apache.flink.api.common.typeutils.TypeSerializer<K> keySerializer, @Nonnull LinkedHashMap<String, ForStOperationUtils.ForStKvStateInfo> kvStateInformation, @Nonnull org.apache.flink.runtime.state.KeyGroupRange keyGroupRange, @Nonnegative int keyGroupPrefixBytes, @Nonnull UUID backendUID)
-
-
Method Details
-
getDescription
-
snapshotMetaData
protected abstract ForStSnapshotStrategyBase.PreviousSnapshot snapshotMetaData(long checkpointId, @Nonnull List<org.apache.flink.runtime.state.metainfo.StateMetaInfoSnapshot> stateMetaInfoSnapshots) -
materializeMetaData
@Nonnull protected org.apache.flink.runtime.state.SnapshotResult<org.apache.flink.runtime.state.StreamStateHandle> materializeMetaData(@Nonnull org.apache.flink.core.fs.CloseableRegistry snapshotCloseableRegistry, @Nonnull org.apache.flink.core.fs.CloseableRegistry tmpResourcesRegistry, @Nonnull List<org.apache.flink.runtime.state.metainfo.StateMetaInfoSnapshot> stateMetaInfoSnapshots, long checkpointId, @Nonnull org.apache.flink.runtime.state.CheckpointStreamFactory checkpointStreamFactory) throws Exception - Throws:
Exception
-
close
public abstract void close()- Specified by:
closein interfaceAutoCloseable
-
cleanupIncompleteSnapshot
protected void cleanupIncompleteSnapshot(@Nonnull org.apache.flink.core.fs.CloseableRegistry tmpResourcesRegistry, @Nonnull org.apache.flink.runtime.state.SnapshotDirectory localBackupDirectory)
-