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