Class CopyOnWriteStateMapSnapshot<K,N,S>
- java.lang.Object
-
- org.apache.flink.runtime.state.heap.StateMapSnapshot<K,N,S,CopyOnWriteStateMap<K,N,S>>
-
- org.apache.flink.runtime.state.heap.CopyOnWriteStateMapSnapshot<K,N,S>
-
- Type Parameters:
K- type of keyN- type of namespaceS- type of state
public class CopyOnWriteStateMapSnapshot<K,N,S> extends StateMapSnapshot<K,N,S,CopyOnWriteStateMap<K,N,S>>
This class represents the snapshot of aCopyOnWriteStateMap.IMPORTANT: Please notice that snapshot integrity of entries in this class rely on proper copy-on-write semantics through the
CopyOnWriteStateMapthat created the snapshot object, but all objects in this snapshot must be considered as READ-ONLY!. The reason is that the objects held by this class may or may not be deep copies of original objects that may still used in theCopyOnWriteStateMap. This depends for each entry on whether or not it was subject to copy-on-write operations by theCopyOnWriteStateMap. Phrased differently: theCopyOnWriteStateMapprovides copy-on-write isolation for this snapshot, but this snapshot does not isolate modifications from theCopyOnWriteStateMap!
-
-
Field Summary
-
Fields inherited from class org.apache.flink.runtime.state.heap.StateMapSnapshot
owningStateMap
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.apache.flink.runtime.state.heap.CopyOnWriteStateMapSnapshot.SnapshotIterator<K,N,S>getIterator(org.apache.flink.api.common.typeutils.TypeSerializer<K> keySerializer, org.apache.flink.api.common.typeutils.TypeSerializer<N> namespaceSerializer, org.apache.flink.api.common.typeutils.TypeSerializer<S> stateSerializer, StateSnapshotTransformer<S> stateSnapshotTransformer)booleanisReleased()voidrelease()Release the snapshot.voidwriteState(org.apache.flink.api.common.typeutils.TypeSerializer<K> keySerializer, org.apache.flink.api.common.typeutils.TypeSerializer<N> namespaceSerializer, org.apache.flink.api.common.typeutils.TypeSerializer<S> stateSerializer, org.apache.flink.core.memory.DataOutputView dov, StateSnapshotTransformer<S> stateSnapshotTransformer)Writes the state in this snapshot to output.-
Methods inherited from class org.apache.flink.runtime.state.heap.StateMapSnapshot
isOwner
-
-
-
-
Method Detail
-
release
public void release()
Description copied from class:StateMapSnapshotRelease the snapshot.- Overrides:
releasein classStateMapSnapshot<K,N,S,CopyOnWriteStateMap<K,N,S>>
-
isReleased
public boolean isReleased()
-
getIterator
public org.apache.flink.runtime.state.heap.CopyOnWriteStateMapSnapshot.SnapshotIterator<K,N,S> getIterator(@Nonnull org.apache.flink.api.common.typeutils.TypeSerializer<K> keySerializer, @Nonnull org.apache.flink.api.common.typeutils.TypeSerializer<N> namespaceSerializer, @Nonnull org.apache.flink.api.common.typeutils.TypeSerializer<S> stateSerializer, @Nullable StateSnapshotTransformer<S> stateSnapshotTransformer)
- Specified by:
getIteratorin classStateMapSnapshot<K,N,S,CopyOnWriteStateMap<K,N,S>>
-
writeState
public void writeState(org.apache.flink.api.common.typeutils.TypeSerializer<K> keySerializer, org.apache.flink.api.common.typeutils.TypeSerializer<N> namespaceSerializer, org.apache.flink.api.common.typeutils.TypeSerializer<S> stateSerializer, @Nonnull org.apache.flink.core.memory.DataOutputView dov, @Nullable StateSnapshotTransformer<S> stateSnapshotTransformer) throws IOException
Description copied from class:StateMapSnapshotWrites the state in this snapshot to output. The state need to be transformed with the given transformer if the transformer is non-null.- Specified by:
writeStatein classStateMapSnapshot<K,N,S,CopyOnWriteStateMap<K,N,S>>- Parameters:
keySerializer- the key serializer.namespaceSerializer- the namespace serializer.stateSerializer- the state serializer.dov- the output.stateSnapshotTransformer- state transformer, and can be null.- Throws:
IOException- on write-related problems.
-
-