[ https://issues.apache.org/jira/browse/FLINK-6025?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15923964#comment-15923964 ]
ASF GitHub Bot commented on FLINK-6025: --------------------------------------- Github user tzulitai commented on the issue: https://github.com/apache/flink/pull/3518 Thanks for the reminder :-D > User code ClassLoader not used when KryoSerializer fallbacks to serialization > for copying > ----------------------------------------------------------------------------------------- > > Key: FLINK-6025 > URL: https://issues.apache.org/jira/browse/FLINK-6025 > Project: Flink > Issue Type: Bug > Components: Type Serialization System > Reporter: Tzu-Li (Gordon) Tai > Assignee: Tzu-Li (Gordon) Tai > Fix For: 1.3.0, 1.1.5, 1.2.1 > > > Reported in ML: > http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/AWS-exception-serialization-problem-td12063.html > This is caused by a known Kryo issue with its {{JavaSerializer}}: > https://github.com/EsotericSoftware/kryo/pull/483. > It happens when a {{Throwable}} is to be copied by the {{KryoSerialzer}}. > Since we use the {{JavaSerializer}} for throwables, and {{JavaSerializer}} > doesn't support copying, the {{KryoSerializer}} fallbacks to use > de-/serialization for the throwable. The problem is that on deserialization, > the classloader that the {{ObjectInputStream}} uses may be overriden, and > doesn't specifically uses Kryo's configured classloader (i.e., the user code > class loader), and results in {{ClassNotFoundException}}. > Generally, this may happen if the user also registers to use the > {{JavaSerializer}} for their types. > To fix the problem for {{Throwable}} serializing in the {{KryoSerializer}}, > we could either consider registering our own fixed {{JavaSerializer}} for > throwables, or wait for the Kryo fix to be released (to be fixed in Kryo > 4.0.1 release). -- This message was sent by Atlassian JIRA (v6.3.15#6346)