[ https://issues.apache.org/jira/browse/FLINK-8836?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16415372#comment-16415372 ]
Stephan Ewen commented on FLINK-8836: ------------------------------------- [~facboy] Yes, but we are not using Kryo across threads, each thread has its own Kryo instance. We are referring here to custom serializers that one can register at Kryo. > 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 > Priority: Major > > The {{duplicate()}} method of the {{KryoSerializer}} is as following: > {code:java} > 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)