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 forSnapshotStrategyimplementations for ForSt state backend.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classForStSnapshotStrategyBase.ForStNativeSnapshotResourcesASnapshotResourcesfor native ForSt snapshot.protected classForStSnapshotStrategyBase.ForStSnapshotOperationCommon operation in native ForSt snapshot result supplier.protected static classForStSnapshotStrategyBase.PreviousSnapshotPrevious snapshot with uploaded sst files.
-
Field Summary
Fields Modifier and Type Field Description protected UUIDbackendUIDThe state handle ids of all sst files materialized in snapshots for previous checkpoints.protected org.forstdb.RocksDBdbForSt instance from the backend.protected static ForStSnapshotStrategyBase.PreviousSnapshotEMPTY_PREVIOUS_SNAPSHOTprotected intkeyGroupPrefixBytesNumber of bytes in the key-group prefix.protected org.apache.flink.runtime.state.KeyGroupRangekeyGroupRangeThe key-group range for the task.protected org.apache.flink.api.common.typeutils.TypeSerializer<K>keySerializerThe key serializer of the backend.protected LinkedHashMap<String,ForStOperationUtils.ForStKvStateInfo>kvStateInformationKey/Value state meta info from the backend.protected ForStResourceContainerresourceContainerprotected org.apache.flink.util.ResourceGuardresourceGuardResource guard for the ForSt instance.
-
Constructor Summary
Constructors Constructor Description ForStSnapshotStrategyBase(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
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract voidclose()StringgetDescription()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, wait
-
-
-
-
Field Detail
-
db
@Nonnull protected final org.forstdb.RocksDB db
ForSt instance from the backend.
-
resourceGuard
@Nonnull protected final org.apache.flink.util.ResourceGuard resourceGuard
Resource guard for the ForSt instance.
-
resourceContainer
@Nonnull protected final ForStResourceContainer resourceContainer
-
keySerializer
@Nonnull protected final org.apache.flink.api.common.typeutils.TypeSerializer<K> keySerializer
The key serializer of the backend.
-
kvStateInformation
@Nonnull protected final LinkedHashMap<String,ForStOperationUtils.ForStKvStateInfo> kvStateInformation
Key/Value state meta info from the backend.
-
keyGroupRange
@Nonnull protected final org.apache.flink.runtime.state.KeyGroupRange keyGroupRange
The key-group range for the task.
-
keyGroupPrefixBytes
@Nonnegative protected final int keyGroupPrefixBytes
Number of bytes in the key-group prefix.
-
backendUID
@Nonnull protected final UUID backendUID
The state handle ids of all sst files materialized in snapshots for previous checkpoints.
-
EMPTY_PREVIOUS_SNAPSHOT
protected static final ForStSnapshotStrategyBase.PreviousSnapshot EMPTY_PREVIOUS_SNAPSHOT
-
-
Constructor Detail
-
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 Detail
-
getDescription
@Nonnull public String 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
-
-