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)