[ 
https://issues.apache.org/jira/browse/IGNITE-3929?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vladimir Ozerov updated IGNITE-3929:
------------------------------------
    Description: 
Currently we do the following to load native libraries:
1) Ask parent class loader (normally it is app class loader) to load 
{{org.apache.hadoop.util.NativeCodeLoader}} class. It will force loading of 
relevant Hadoop native libraries.
2) Then hack into parent class loader internals, find loaded library, and wire 
it up to current classloader.

This approach will not work any more because parent classloader normally will 
not have Hadoop in classpath.

We should provide alternative solution.

  was:
Currently we do the following to load native libraries:
1) Ask parent class loader (normally it is app class loader) to load 
{{org.apache.hadoop.util.NativeCodeLoader}} class. It will force loading of 
relevant Hadoop native libraries.
2) Then hack into parent class loader internals, find loaded library, and wire 
it up to current classloader.

This approach will not work any more because parent classloader normally will 
not have Hadoop in classpath.

We should provide alternative solution. One idea is to hack into 
{{findLibrary}} method: when it is called we can create alternative library 
name and point it, e.g., to symlink of a target library.


> Hadoop: Fix native libraries loading mechanism.
> -----------------------------------------------
>
>                 Key: IGNITE-3929
>                 URL: https://issues.apache.org/jira/browse/IGNITE-3929
>             Project: Ignite
>          Issue Type: Sub-task
>          Components: hadoop
>    Affects Versions: 1.7
>            Reporter: Vladimir Ozerov
>            Assignee: Ivan Veselovsky
>             Fix For: 1.8
>
>
> Currently we do the following to load native libraries:
> 1) Ask parent class loader (normally it is app class loader) to load 
> {{org.apache.hadoop.util.NativeCodeLoader}} class. It will force loading of 
> relevant Hadoop native libraries.
> 2) Then hack into parent class loader internals, find loaded library, and 
> wire it up to current classloader.
> This approach will not work any more because parent classloader normally will 
> not have Hadoop in classpath.
> We should provide alternative solution.



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

Reply via email to