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

Vladimir Ozerov commented on IGNITE-2206:
-----------------------------------------

We have a problem deserializing user-provided factories on the client side when 
it happens in HadoopClassLoader context. 
Root cause: HadoopClassLoader delegates load of HadoopFileSystemFactory to 
parent classloader, while it actually has to be loaded by HadoopClassLoader on 
his own. This is because implementation of ASM ClassVisitor doesn't inspect 
method signatures, so it thinks that HadoopFileSystemFactory doesn't have and 
Hadoop dependencies and hence can be loaded by parent classloader safely. 

I propose the following fix plan:
1) Create separate ticket for visitor bug, fix it and cover with tests 
thoroughly.
2) Then come back to this ticket and implement marshalling/unmarshalling using 
JdkMarshaller and pass current classloader to "getPayload" method. 

This should be enough to resolve the issue. You can find dirty solution in the 
IGNITE-2206 branch.

> Make the file SecondaryFileSystemProvider pluggable
> ---------------------------------------------------
>
>                 Key: IGNITE-2206
>                 URL: https://issues.apache.org/jira/browse/IGNITE-2206
>             Project: Ignite
>          Issue Type: Sub-task
>          Components: hadoop, IGFS
>            Reporter: Ivan Veselovsky
>            Assignee: Ivan Veselovsky
>             Fix For: 1.6
>
>         Attachments: 2206.patch
>
>




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to