[
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)