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

Allen Wittenauer commented on HADOOP-9902:
------------------------------------------

bq. It seems that hadoop-functions.sh ends up in sbin/hadoop-functions.sh in 
the finally binary assembly but hadoop-config.sh looks for it in the 
HADOOP_LIBEXEC_DIR. 

Weird!  I've been using tar ball builds and it shows up in HADOOP_LIBEXEC_DIR / 
libexec as expected. I wonder what's going on here then. hadoop-dist.xml even 
specifies libexec and excludes it from sbin specifically.  From my own fresh 
build of trunk + this patch:

{code}
mbp:hadoop-3.0.0-SNAPSHOT aw$ pwd
/Users/aw/Src/hadoop-common/hadoop-dist/target/hadoop-3.0.0-SNAPSHOT
mbp:hadoop-3.0.0-SNAPSHOT aw$ find . -name hadoop-functions.sh
./libexec/hadoop-functions.sh
{code}

So I guess I need some advice here on a way to reproduce it and/or how to fix 
this one.

bq. hadoop-common-project/hadoop-common/src/main/bin/hadoop's extra quotes

Yup, that's clearly broken.  Probably snuck in while I was playing with the 
space bug.  That's an easy fix.

bq.  HADOOPOSTYPE needs to be documents

This is one of those things that I didn't know what to do with it.  I really 
don't want it to exist, to be honest, but with HADOOP-8719, we have to do 
something in the hadoop-env.sh. Stupid Apple and/or Oracle.  I think in the end 
we're just kind of screwed and will need to make it real. :/  I'll change it to 
HADOOP_OS_TYPE, define it both in hadoop-env.sh and hadoop-functions.sh so that 
it can be referenced as a real value.

bq. Are we planning to use *-env.sh for documenting all the variables that one 
may set?

That was my intent, yes.  I'm looking at it from the perspective of your 
typical /etc/default/*, /etc/sysconfig, etc, type file.

bq. Any reason populate_slaves_file function is in hadoop-config.sh and not in 
hadoop-functions.sh ?

It was really meant as a utility function only for hadoop-config.sh to simplify 
the options listing/parsing code. But there's no reason it can't be moved.  
I'll do that as well as make it hadoop_ to keep the name space clean.  

bq. The following appears to be a sort of no-op if value is not set 

Yup, correct. Another easy fix. (... and clearly bad copypasta from the current 
code ...)

bq. Any reason not to try harder and see what type -p java returns? 

I think it's too risky.  I'd much rather have an explicit JAVA_HOME than assume 
that /usr/bin/java (or whatever happens to get returned) is "good".  'type -p' 
can also be wildly unpredictable since it uses the hashed value... this is not 
necessarily the first one that shows up in the path!

Thanks! 

> Shell script rewrite
> --------------------
>
>                 Key: HADOOP-9902
>                 URL: https://issues.apache.org/jira/browse/HADOOP-9902
>             Project: Hadoop Common
>          Issue Type: Improvement
>          Components: scripts
>    Affects Versions: 3.0.0
>            Reporter: Allen Wittenauer
>            Assignee: Allen Wittenauer
>              Labels: releasenotes
>         Attachments: HADOOP-9902-10.patch, HADOOP-9902-11.patch, 
> HADOOP-9902-12.patch, HADOOP-9902-13-branch-2.patch, HADOOP-9902-13.patch, 
> HADOOP-9902-2.patch, HADOOP-9902-3.patch, HADOOP-9902-4.patch, 
> HADOOP-9902-5.patch, HADOOP-9902-6.patch, HADOOP-9902-7.patch, 
> HADOOP-9902-8.patch, HADOOP-9902-9.patch, HADOOP-9902.patch, HADOOP-9902.txt, 
> hadoop-9902-1.patch, more-info.txt
>
>
> Umbrella JIRA for shell script rewrite.  See more-info.txt for more details.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to