You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "BoWang (JIRA)" <ji...@apache.org> on 2019/01/08 08:59:00 UTC

[jira] [Commented] (FLINK-11071) Dynamic proxy classes cannot be resolved when deserializing job graph

    [ https://issues.apache.org/jira/browse/FLINK-11071?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16736888#comment-16736888 ] 

BoWang commented on FLINK-11071:
--------------------------------

Hi, has this problem been fixed yet? If not, I would like to fix this.

> Dynamic proxy classes cannot be resolved when deserializing job graph
> ---------------------------------------------------------------------
>
>                 Key: FLINK-11071
>                 URL: https://issues.apache.org/jira/browse/FLINK-11071
>             Project: Flink
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.6.2, 1.7.0, 1.8.0
>            Reporter: Oleg Zhukov
>            Priority: Major
>         Attachments: SocketWindowWordCount.java
>
>
> It turns impossible to use Java dynamic proxy objects in the job definition (for example, as a MapFunction implementation).
> During deserialization of the job graph, the default implementation of  ObjectInputStream.resolveProxyClass(..) is used, which is not using the custom class loader (to look into the submitted jar) and therefore throws ClassNotFoundException.
> Looks like in order to address this, InstantiationUtil.ClassLoaderObjectInputStream needs to provide custom implementation of resolveProxyClass(..) method as well (in addition to resolveClass(..)).
> In order to reproduce the issue, run the attached SocketWindowWordCount Flink app. It's a slight variation of the canonical [SocketWindowWordCount 
>  example|https://ci.apache.org/projects/flink/flink-docs-master/tutorials/local_setup.html] with a dynamic proxy implementation of the flat map transformation.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)