Class TtlAwareSerializerSnapshot<T>
java.lang.Object
org.apache.flink.runtime.state.ttl.TtlAwareSerializerSnapshot<T>
- All Implemented Interfaces:
org.apache.flink.api.common.typeutils.TypeSerializerSnapshot<T>
public class TtlAwareSerializerSnapshot<T>
extends Object
implements org.apache.flink.api.common.typeutils.TypeSerializerSnapshot<T>
A
TypeSerializerSnapshot for TtlAwareSerializer. This class wraps a TypeSerializerSnapshot with ttl awareness. It will return true when the wrapped TypeSerializerSnapshot is the instance of TtlStateFactory.TtlSerializerSnapshot. Also,
it overrides the compatibility type check between TtlSerializerSnapshot and non-ttl
TypeSerializerSnapshot.
If two TtlAwareSerializerSnapshots have the same ttl config, it will return the compatibility check result of the original TypeSerializerSnapshot.
If two TtlAwareSerializerSnapshots have different ttl config, it will return a wrapped compatibility check result.
-
Constructor Summary
ConstructorsConstructorDescriptionTtlAwareSerializerSnapshot(org.apache.flink.api.common.typeutils.TypeSerializerSnapshot<T> typeSerializerSnapshot) TtlAwareSerializerSnapshot(org.apache.flink.api.common.typeutils.TypeSerializerSnapshot<T> typeSerializerSnapshot, boolean isTtlEnabled) -
Method Summary
Modifier and TypeMethodDescriptionintorg.apache.flink.api.common.typeutils.TypeSerializerSnapshot<T>booleanvoidreadSnapshot(int readVersion, org.apache.flink.core.memory.DataInputView in, ClassLoader userCodeClassLoader) org.apache.flink.api.common.typeutils.TypeSerializerSchemaCompatibility<T>resolveSchemaCompatibility(org.apache.flink.api.common.typeutils.TypeSerializerSnapshot<T> oldSerializerSnapshot) org.apache.flink.api.common.typeutils.TypeSerializer<T>voidwriteSnapshot(org.apache.flink.core.memory.DataOutputView out)
-
Constructor Details
-
TtlAwareSerializerSnapshot
public TtlAwareSerializerSnapshot() -
TtlAwareSerializerSnapshot
public TtlAwareSerializerSnapshot(org.apache.flink.api.common.typeutils.TypeSerializerSnapshot<T> typeSerializerSnapshot, boolean isTtlEnabled) -
TtlAwareSerializerSnapshot
public TtlAwareSerializerSnapshot(org.apache.flink.api.common.typeutils.TypeSerializerSnapshot<T> typeSerializerSnapshot)
-
-
Method Details
-
getCurrentVersion
public int getCurrentVersion()- Specified by:
getCurrentVersionin interfaceorg.apache.flink.api.common.typeutils.TypeSerializerSnapshot<T>
-
writeSnapshot
- Specified by:
writeSnapshotin interfaceorg.apache.flink.api.common.typeutils.TypeSerializerSnapshot<T>- Throws:
IOException
-
readSnapshot
public void readSnapshot(int readVersion, org.apache.flink.core.memory.DataInputView in, ClassLoader userCodeClassLoader) throws IOException - Specified by:
readSnapshotin interfaceorg.apache.flink.api.common.typeutils.TypeSerializerSnapshot<T>- Throws:
IOException
-
restoreSerializer
- Specified by:
restoreSerializerin interfaceorg.apache.flink.api.common.typeutils.TypeSerializerSnapshot<T>
-
resolveSchemaCompatibility
public org.apache.flink.api.common.typeutils.TypeSerializerSchemaCompatibility<T> resolveSchemaCompatibility(org.apache.flink.api.common.typeutils.TypeSerializerSnapshot<T> oldSerializerSnapshot) - Specified by:
resolveSchemaCompatibilityin interfaceorg.apache.flink.api.common.typeutils.TypeSerializerSnapshot<T>
-
isTtlEnabled
public boolean isTtlEnabled() -
getOrinalTypeSerializerSnapshot
public org.apache.flink.api.common.typeutils.TypeSerializerSnapshot<T> getOrinalTypeSerializerSnapshot()
-