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

Zhijie Shen commented on HADOOP-11764:
--------------------------------------

bq. It just needs to be set as a system property prior to invoking the class. 
That's all putting it on the command line does, so why can't we do this in 
Configuration?
bq. Isnt that better than adding code in each daemon to read from the 
configuration and set it to the environment?

That sounds true. However,  I agree with [~adhoot] that it's better to setup 
env vars instead of modifying each daemon to set system property 
programatically.

bq.  This is an unrelated problem to the one this jira is solving. The current 
jira is not solving native lib not found. Rather the jar cannot be extracted 
and executed because of noexec permissions.

The reason is that just moving tmp file generated for leveldbjni out of /tmp is 
not going to fix the problem. Instead of {{Operation not permitted}}, we will 
encounter {{not found}} problem, and finally the native code is still not 
linked if {{JAVA_LIBRARY_PATH}} doesn't include {{library.leveldbjni.path}} (by 
default it doesn't library.leveldbjni.path is some customized path).

I don't think it's a complete solution if now we have BUG A, and after we fix 
it, we have BUG B. Therefore, my proposal is if {{HADOOP_LEVELDBJNI_DIR}} is 
specified, it will set to {{library.leveldbjni.path}} as well as be added to 
{{JAVA_LIBRARY_PATH}}. Thoughts?

bq. This is sounding more and more like a complete mess, 

Would you mind elaborating what is the complete mess? The admin just needs to 
set HADOOP_LEVELDBJNI_DIR to somewhere else than /tmp if /tmp is mounted as 
noexec. If HADOOP_LEVELDBJNI_DIR is not set, it will just work as what it is 
now.

> Hadoop should have the option to use directory other than tmp for extracting 
> and loading leveldbjni
> ---------------------------------------------------------------------------------------------------
>
>                 Key: HADOOP-11764
>                 URL: https://issues.apache.org/jira/browse/HADOOP-11764
>             Project: Hadoop Common
>          Issue Type: Bug
>            Reporter: Anubhav Dhoot
>            Assignee: Anubhav Dhoot
>         Attachments: YARN-3331.001.patch, YARN-3331.002.patch
>
>
> /tmp can be  required to be noexec in many environments. This causes a 
> problem when  nodemanager tries to load the leveldbjni library which can get 
> unpacked and executed from /tmp.



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

Reply via email to