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

Denis Magda commented on IGNITE-1272:
-------------------------------------

Semen,

> I remember that it was discussed that peer class loading should work for 
> cache EntryProcessors. Are there such tests?

I haven't found such tests. If they were then my changes would break peer class 
loading for EntryProcessors for cases when a processor is invoked over a 
portable cache. Thanks for this finding.  

> Is it possible to change all cache messages to return non-null 
> addDeploymentInfo() flag to avoid extra cheks in GridCacheIoManager?

I can initialize this flag for every existed cache message and even avoid usage 
of {{ctx.cacheContext(cacheId).deploymentEnabled()}} inside of messages logic.
However, I would prefer to keep {{addDepInfo}} flag as {{Boolean}} variable 
forcing every cache message to initialize it to a particular value. The reason 
is that in the future we may want to add additional cache messages and an 
implementor of the new message will get an error or assertion if he/she forgets 
to initialize this flag.

What do you think?

> Also I fixed few places to avoid extra cache contex lookups, please take a 
> look (commit 344bf0c)

Thanks, looks good.

> 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: 1.5
>
>         Attachments: ignite-1272.patch, ignite-1272.patch
>
>
> 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)

Reply via email to