flink-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (FLINK-10655) RemoteRpcInvocation not overwriting ObjectInputStream's ClassNotFoundException
Date Wed, 24 Oct 2018 12:45:00 GMT

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

ASF GitHub Bot commented on FLINK-10655:
----------------------------------------

NicoK opened a new pull request #6920: [FLINK-10655][rpc] fix RemoteRpcInvocation not overwriting
ObjectInputStream's ClassNotFoundException
URL: https://github.com/apache/flink/pull/6920
 
 
   ## What is the purpose of the change
   
   `RemoteRpcInvocation` tries to give a more detailed `ClassNotFoundException` if the method
type/argument deserialization fails. However, it turns out, once `ObjectInputStream` has received
a `ClassNotFoundException`, it will not overwrite this anymore and we can therefore not provide
a more detailed `ClassNotFoundException`.
   
   ## Brief change log
   
   - add a suppressed `ClassNotFoundException` to the existing one which contains more details
   - add more details, i.e. all successfully deserialized types and parameters (in addition
to the method name)
   
   ## Verifying this change
   
   This change added tests and can be verified as follows:
   - added `ClassLoaderTest#testMessageDecodingWithUnavailableClass`
   
   ## Does this pull request potentially affect one of the following parts:
   
     - Dependencies (does it add or upgrade a dependency): **no**
     - The public API, i.e., is any changed class annotated with `@Public(Evolving)`: **no**
     - The serializers: **no** (we only integrate into the deserialization of `RemoteRpcInvocation`)
     - The runtime per-record code paths (performance sensitive): **no**
     - Anything that affects deployment or recovery: JobManager (and its components), Checkpointing,
Yarn/Mesos, ZooKeeper: **don't know** (not really - this only adds more debug infos in case
of failures)
     - The S3 file system connector: **no**
   
   ## Documentation
   
     - Does this pull request introduce a new feature? **no**
     - If yes, how is the feature documented? **JavaDocs**
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


> RemoteRpcInvocation not overwriting ObjectInputStream's ClassNotFoundException
> ------------------------------------------------------------------------------
>
>                 Key: FLINK-10655
>                 URL: https://issues.apache.org/jira/browse/FLINK-10655
>             Project: Flink
>          Issue Type: Bug
>          Components: Distributed Coordination
>    Affects Versions: 1.5.4, 1.6.1, 1.7.0
>            Reporter: Nico Kruber
>            Assignee: Nico Kruber
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 1.5.6, 1.6.3, 1.7.0
>
>
> {{RemoteRpcInvocation}} tries to give a more detailed {{ClassNotFoundException}} if the
method type/argument deserialization fails. However, it turns out, once {{ObjectInputStream}}
has received a {{ClassNotFoundException}}, it will not overwrite this anymore and we can therefore
not provide a more detailed {{ClassNotFoundException}}.
> Instead, the least invasive solution would be to add a suppressed {{ClassNotFoundException}}
to the existing one. While at it, we could also add more details, i.e. the successfully deserialized
types and arguments.



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

Mime
View raw message