Alex Holmes created HADOOP-10820:
------------------------------------

             Summary: Empty entry in libjars results in working directory being 
recursively localized
                 Key: HADOOP-10820
                 URL: https://issues.apache.org/jira/browse/HADOOP-10820
             Project: Hadoop Common
          Issue Type: Bug
    Affects Versions: 2.2.0
            Reporter: Alex Holmes
            Priority: Minor


An empty token (e.g. "a.jar,,b.jar") in the -libjars option causes the current 
working directory to be recursively localized.

Here's an example of this in action (using Hadoop 2.2.0):

{code}
# create a temp directory and touch three JAR files
mkdir -p tmp/path && cd tmp && touch a.jar b.jar c.jar path/d.jar

# Run an example job only specifying two of the JARs.
# Include an empty entry in libjars.
hadoop jar 
/usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar pi 
-libjars a.jar,,c.jar 2 1000000000

# As the job is running examine the localized directory in HDFS.
# Notice that not only are the two JAR's specified in libjars copied,
# but in addition the contents of the working directory are also recursively 
copied.
$ hadoop fs -lsr 
/tmp/hadoop-yarn/staging/aholmes/.staging/job_1404752711144_0018/libjars
/tmp/hadoop-yarn/staging/aholmes/.staging/job_1404752711144_0018/libjars/a.jar
/tmp/hadoop-yarn/staging/aholmes/.staging/job_1404752711144_0018/libjars/c.jar
/tmp/hadoop-yarn/staging/aholmes/.staging/job_1404752711144_0018/libjars/tmp
/tmp/hadoop-yarn/staging/aholmes/.staging/job_1404752711144_0018/libjars/tmp/a.jar
/tmp/hadoop-yarn/staging/aholmes/.staging/job_1404752711144_0018/libjars/tmp/b.jar
/tmp/hadoop-yarn/staging/aholmes/.staging/job_1404752711144_0018/libjars/tmp/c.jar
/tmp/hadoop-yarn/staging/aholmes/.staging/job_1404752711144_0018/libjars/tmp/path
/tmp/hadoop-yarn/staging/aholmes/.staging/job_1404752711144_0018/libjars/tmp/path/d.jar
{code}



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

Reply via email to