You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flink.apache.org by "Tzu-Li (Gordon) Tai (JIRA)" <ji...@apache.org> on 2018/03/02 11:26:00 UTC
[jira] [Created] (FLINK-8836) Duplicating a KryoSerializer does not
duplicate registered default serializers
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)