[ https://issues.apache.org/jira/browse/HADOOP-10820?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alex Holmes updated HADOOP-10820: --------------------------------- Attachment: HADOOP-10820-1.patch Thanks for the feedback. I've updated the patch with the following changes: - Return null in validateFiles if the array of files is empty - Only set configs if non-null, non-empty return from validateFiles - Unset configs if null or empty return from validateFiles > 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 > Attachments: HADOOP-10820-1.patch, HADOOP-10820.patch > > > 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)