hadoop command - do not accept class names starting with a hyphen -----------------------------------------------------------------
Key: HADOOP-7325 URL: https://issues.apache.org/jira/browse/HADOOP-7325 Project: Hadoop Common Issue Type: Improvement Components: scripts Reporter: Brock Noland Priority: Minor Attachments: hadoop-illegal-class-name-0.patch If this is committed I will look at patches for hdfs and mapred. When teaching a good portion of the students in every single class execute: {code} $ hadoop -fs ls / {code} The -fs is passed directly to the JVM and the JVM fails to start: {code} $ ./bin/hadoop -fs ls / Unrecognized option: -fs Could not create the Java virtual machine. {code} Which is confusing and typically requires explanation. The attached patch improves that behavior: {code} $ ./bin/hadoop -fs ls / Error: No command named `-fs' was found. Perhaps you meant `hadoop fs' {code} The only risk I can see is if someone is abusing the implementation of hadoop command doing something like so: {code} $ ./bin/hadoop -Xmx1g org.apache.hadoop.util.RunJar RunJar jarFile [mainClass] args... {code} The hadoop command does not appear to advertise allowing JVM options before the classname. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira