Tzu-Li (Gordon) Tai created FLINK-8836:
------------------------------------------
Summary: Duplicating a KryoSerializer does not duplicate registered default serializers
Key: FLINK-8836
URL:
https://issues.apache.org/jira/browse/FLINK-8836 Project: Flink
Issue Type: Bug
Components: Type Serialization System
Reporter: Tzu-Li (Gordon) Tai
The {{duplicate()}} method of the {{KryoSerializer}} is as following:
{code}
public KryoSerializer<T> duplicate() {
return new KryoSerializer<>(this);
}
protected KryoSerializer(KryoSerializer<T> toCopy) {
defaultSerializers = toCopy.defaultSerializers;
defaultSerializerClasses = toCopy.defaultSerializerClasses;
kryoRegistrations = toCopy.kryoRegistrations;
...
}
{code}
Shortly put, when duplicating a `KryoSerializer`, the `defaultSerializers` serializer instances are directly provided to the new `KryoSerializer` instance.
This causes the fact that those default serializers are shared across two different `KryoSerializer` instances, and therefore not a correct duplicate.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)