[
https://issues.apache.org/jira/browse/IGNITE-5038?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17176394#comment-17176394
]
Ivan Rakov commented on IGNITE-5038:
------------------------------------
[~agoncharuk] [~gvvinblade] [~v.pyatkov] Guys, please take a look at new PR:
https://github.com/apache/ignite/pull/8146
I've addressed Vlad's and Alex's comments in it.
> Also, what happens if I call deserialize() and pass system class loader?
Object instance will unmarshalled with system classloader, without using cache
(with extra call of Class.forName).
> We need to add tests to verify that user class loaders do not leak to the
> static cache
It's covered by BinaryClassLoaderMultiJvmTest, see
BinaryClassLoaderMultiJvmTest#checkClassCacheEmpty. A bit tricky, but should
work.
I'll groom test code (will add test scenarios description and so on) if TC
shows that current patch is viable.
> 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: Mirza Aliev
> Priority: Major
> Labels: features
> Attachments: results-compound-20170802.zip,
> results-compound-20170808.zip
>
> Time Spent: 1.5h
> Remaining Estimate: 0h
>
> 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
(v8.3.4#803005)