Class TtlAwareSerializer<T>
- java.lang.Object
-
- org.apache.flink.api.common.typeutils.TypeSerializer<T>
-
- org.apache.flink.runtime.state.ttl.TtlAwareSerializer<T>
-
- All Implemented Interfaces:
Serializable
public class TtlAwareSerializer<T> extends org.apache.flink.api.common.typeutils.TypeSerializer<T>
This class wraps aTypeSerializer
with ttl awareness. It will return true when the wrappedTypeSerializer
is instance ofTtlStateFactory.TtlSerializer
. Also, it wraps the value migration process between TtlSerializer and non-ttl typeSerializer.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description TtlAwareSerializer(org.apache.flink.api.common.typeutils.TypeSerializer<T> typeSerializer)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
copy(org.apache.flink.core.memory.DataInputView source, org.apache.flink.core.memory.DataOutputView target)
T
copy(T from)
T
copy(T from, T reuse)
T
createInstance()
T
deserialize(org.apache.flink.core.memory.DataInputView source)
T
deserialize(T reuse, org.apache.flink.core.memory.DataInputView source)
org.apache.flink.api.common.typeutils.TypeSerializer<T>
duplicate()
boolean
equals(Object o)
int
getLength()
org.apache.flink.api.common.typeutils.TypeSerializer<T>
getOriginalTypeSerializer()
int
hashCode()
boolean
isImmutableType()
static boolean
isSerializerTtlEnabled(org.apache.flink.api.common.typeutils.TypeSerializer<?> typeSerializer)
boolean
isTtlEnabled()
void
migrateValueFromPriorSerializer(TtlAwareSerializer<T> priorTtlAwareSerializer, org.apache.flink.util.function.SupplierWithException<T,IOException> inputSupplier, org.apache.flink.core.memory.DataOutputView target, TtlTimeProvider ttlTimeProvider)
void
serialize(T record, org.apache.flink.core.memory.DataOutputView target)
org.apache.flink.api.common.typeutils.TypeSerializerSnapshot<T>
snapshotConfiguration()
static org.apache.flink.api.common.typeutils.TypeSerializer<?>
wrapTtlAwareSerializer(org.apache.flink.api.common.typeutils.TypeSerializer<?> typeSerializer)
-
-
-
Constructor Detail
-
TtlAwareSerializer
public TtlAwareSerializer(org.apache.flink.api.common.typeutils.TypeSerializer<T> typeSerializer)
-
-
Method Detail
-
isImmutableType
public boolean isImmutableType()
- Specified by:
isImmutableType
in classorg.apache.flink.api.common.typeutils.TypeSerializer<T>
-
duplicate
public org.apache.flink.api.common.typeutils.TypeSerializer<T> duplicate()
- Specified by:
duplicate
in classorg.apache.flink.api.common.typeutils.TypeSerializer<T>
-
createInstance
public T createInstance()
- Specified by:
createInstance
in classorg.apache.flink.api.common.typeutils.TypeSerializer<T>
-
copy
public T copy(T from)
- Specified by:
copy
in classorg.apache.flink.api.common.typeutils.TypeSerializer<T>
-
copy
public T copy(T from, T reuse)
- Specified by:
copy
in classorg.apache.flink.api.common.typeutils.TypeSerializer<T>
-
getLength
public int getLength()
- Specified by:
getLength
in classorg.apache.flink.api.common.typeutils.TypeSerializer<T>
-
serialize
public void serialize(T record, org.apache.flink.core.memory.DataOutputView target) throws IOException
- Specified by:
serialize
in classorg.apache.flink.api.common.typeutils.TypeSerializer<T>
- Throws:
IOException
-
deserialize
public T deserialize(org.apache.flink.core.memory.DataInputView source) throws IOException
- Specified by:
deserialize
in classorg.apache.flink.api.common.typeutils.TypeSerializer<T>
- Throws:
IOException
-
deserialize
public T deserialize(T reuse, org.apache.flink.core.memory.DataInputView source) throws IOException
- Specified by:
deserialize
in classorg.apache.flink.api.common.typeutils.TypeSerializer<T>
- Throws:
IOException
-
equals
public boolean equals(Object o)
- Specified by:
equals
in classorg.apache.flink.api.common.typeutils.TypeSerializer<T>
-
hashCode
public int hashCode()
- Specified by:
hashCode
in classorg.apache.flink.api.common.typeutils.TypeSerializer<T>
-
migrateValueFromPriorSerializer
public void migrateValueFromPriorSerializer(TtlAwareSerializer<T> priorTtlAwareSerializer, org.apache.flink.util.function.SupplierWithException<T,IOException> inputSupplier, org.apache.flink.core.memory.DataOutputView target, TtlTimeProvider ttlTimeProvider) throws IOException
- Throws:
IOException
-
copy
public void copy(org.apache.flink.core.memory.DataInputView source, org.apache.flink.core.memory.DataOutputView target) throws IOException
- Specified by:
copy
in classorg.apache.flink.api.common.typeutils.TypeSerializer<T>
- Throws:
IOException
-
isTtlEnabled
public boolean isTtlEnabled()
-
getOriginalTypeSerializer
public org.apache.flink.api.common.typeutils.TypeSerializer<T> getOriginalTypeSerializer()
-
snapshotConfiguration
public org.apache.flink.api.common.typeutils.TypeSerializerSnapshot<T> snapshotConfiguration()
- Specified by:
snapshotConfiguration
in classorg.apache.flink.api.common.typeutils.TypeSerializer<T>
-
isSerializerTtlEnabled
public static boolean isSerializerTtlEnabled(org.apache.flink.api.common.typeutils.TypeSerializer<?> typeSerializer)
-
wrapTtlAwareSerializer
public static org.apache.flink.api.common.typeutils.TypeSerializer<?> wrapTtlAwareSerializer(org.apache.flink.api.common.typeutils.TypeSerializer<?> typeSerializer)
-
-