Tzu-Li (Gordon) Tai created FLINK-8836:

             Summary: Duplicating a KryoSerializer does not duplicate 
registered default serializers
                 Key: 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:

public KryoSerializer<T> duplicate() {
    return new KryoSerializer<>(this);


protected KryoSerializer(KryoSerializer<T> toCopy) {
    defaultSerializers = toCopy.defaultSerializers;
    defaultSerializerClasses = toCopy.defaultSerializerClasses;

    kryoRegistrations = toCopy.kryoRegistrations;



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

Reply via email to