[
https://issues.apache.org/jira/browse/IGNITE-1272?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14902887#comment-14902887
]
Denis Magda commented on IGNITE-1272:
-------------------------------------
Fixed the following test case:
- start server node from console with peer class loading enabled;
- start client node that executes a compute task. Stop the client node;
- modify source code of the compute task and start the client node one more
time;
- the server node will reload the changed compute task.
This reason of the bug was in the fact that we always cached class in
{{PortableContext}} didn't giving the remote loader a chance to reload it using
{{MarshallerContextImpl}}.
However, this fix broke other portable marshaller tests. Need to investigate
and introduce better solution.
> PortableMarshaller: issues when different class loaders are used
> ----------------------------------------------------------------
>
> Key: IGNITE-1272
> URL: https://issues.apache.org/jira/browse/IGNITE-1272
> Project: Ignite
> Issue Type: Bug
> Affects Versions: ignite-1.4
> Reporter: Denis Magda
> Assignee: Denis Magda
> Priority: Blocker
> Fix For: ignite-1.5
>
>
> The reason is that a loader is not passed to required places when needed.
> Reproduced with the following tests:
> - {{IgniteCacheAbstractExecutionContextTest.testUserClassLoader()}} fails
> with PortableMarshaller enabled.
> - {{GridDeploymentMessageCountSelfTest.testCacheValueDeploymentOnPut()}}
> Another issue is when {{PortableContext}} returns {{PortableClassDescriptor}}
> by type id. Returned descriptor has a constructor which already has been
> loaded with another class loader. Fix is not trivial and issue is reproduced
> with {{GridP2PRemoteClassLoadersSelfTest}}
> Look for corresponding TODOs in the code.
> Unmute tests when fixed
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)