You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Vladimir Ozerov (JIRA)" <ji...@apache.org> on 2018/05/03 18:43:00 UTC

[jira] [Commented] (IGNITE-5038) BinaryMarshaller might need to use context class loader for deserialization

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

Vladimir Ozerov commented on IGNITE-5038:
-----------------------------------------

[~daradurvs], while being pretty simple at the first glance, this ticket is rather non-trivial. Main problem - we rely on {{Class}} caching a lot, and this caching should be avoided carefully when using custom classloader. Current implementation is not finished yet and is effectively on hold.

With new module system (aka Jigsaw) and drop of Java 7 support, I am not sure that this fix makes sense in any environment except of Java 8. This is de-facto standard for now, but with Java 10 release this may change. I am not sure we should continue with this patch until we understand how it would work in Java 9/10. 

> BinaryMarshaller might need to use context class loader for deserialization
> ---------------------------------------------------------------------------
>
>                 Key: IGNITE-5038
>                 URL: https://issues.apache.org/jira/browse/IGNITE-5038
>             Project: Ignite
>          Issue Type: Improvement
>          Components: binary
>    Affects Versions: 2.0
>            Reporter: Dmitry Karachentsev
>            Assignee: Vladimir Ozerov
>            Priority: Major
>              Labels: features
>             Fix For: 2.6
>
>         Attachments: results-compound-20170802.zip, results-compound-20170808.zip
>
>
> There is a special use case discussed on the dev list:
> http://apache-ignite-developers.2346864.n4.nabble.com/Re-BinaryObjectImpl-deserializeValue-with-specific-ClassLoader-td17126.html#a17224
> According to the use case, BinaryMarshaller might need to try to deserialize an object using a context class loader if it failed to do so with a custom classloader (`IgniteConfiguration.getClassLoader()`) or the system one.



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