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)

Reply via email to