[
https://issues.apache.org/jira/browse/FLINK-6857?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16042864#comment-16042864
]
Tzu-Li (Gordon) Tai edited comment on FLINK-6857 at 6/8/17 3:38 PM:
--------------------------------------------------------------------
[~StephanEwen] no, the current {{addDefaultKryoSerializer}} methods are
defaults tied to specific classes, and correspond to the
{{addDefaultSerializer(Class, Serializer)}} methods in Kryo.
This JIRA is meant to add a {{setDefaultSerializer}} configuration, which
allows overriding the "hard default" (i.e., when no registered default
serializers for a class can be found), which in Kryo is the
{{FieldSerializer}}. This would correspond to Kryo's
{{setDefaultSerializer(Serializer)}} API.
As an extra remark, the "serializer resolution" for Kryo is 3-steps:
1. Is there a directly registered serializer for the class?
2. Is there a default serializer registered that is applicable for the class?
3. If above all fails, then use the hard default (out-of-the-box is the
{{FieldSerializer}})
The 3rd step is what this JIRA is targetting to allow configuring. Currently we
can only configure 1. and 2.
was (Author: tzulitai):
[~StephanEwen] no, the current {{addDefaultKryoSerializer}} methods are
defaults tied to specific classes, and correspond to the
{{addDefaultSerializer(Class, Serializer)}} methods in Kryo.
This JIRA is meant to add a {{setDefaultSerializer}} configuration, which
allows overriding the "hard default" (i.e., when no registered default
serializers for a class can be found), which in Kryo is the
{{FieldSerializer}}. This would correspond to Kryo's
{{setDefaultSerializer(Serializer)}} API.
As an extra remark, the "serializer resolution" for Kryo is 3-steps:
1. Is there a directly registered serializer for the class?
2. Is there a default serializer registered that is applicable for the class?
3. If above all fails, then use the hard default (out-of-the-box is the
{{FieldSerializer}})
The 3rd step is what this JIRA is targetting to allow configuring.
> Add global default Kryo serializer configuration to StreamExecutionEnvironment
> ------------------------------------------------------------------------------
>
> Key: FLINK-6857
> URL: https://issues.apache.org/jira/browse/FLINK-6857
> Project: Flink
> Issue Type: Improvement
> Components: Configuration, Type Serialization System
> Reporter: Tzu-Li (Gordon) Tai
>
> See ML for original discussion:
> http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/KryoException-Encountered-unregistered-class-ID-td13476.html.
> We should have an additional {{setDefaultKryoSerializer}} method that allows
> overriding the global default serializer that is not tied to specific classes
> (out-of-the-box Kryo uses the {{FieldSerializer}} if no matches for default
> serializer settings can be found for a class). Internally in Flink's
> {{KryoSerializer}}, this would only be a matter of proxying that configured
> global default serializer for Kryo by calling
> {{Kryo.setDefaultSerializer(...)}} on the created Kryo instance.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)