[
https://issues.apache.org/jira/browse/HADOOP-3281?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12593586#action_12593586
]
Tsz Wo (Nicholas), SZE commented on HADOOP-3281:
------------------------------------------------
Class name is a QualifiedIdentifier defined in
http://java.sun.com/docs/books/jls/third_edition/html/syntax.html
(see also
http://java.sun.com/docs/books/jls/third_edition/html/lexical.html#3.8)
Could we use a regular expression to check it? For simplicity, we could ignore
special cases like java keywords.
> So I think the best fix for this is to (at long last) move the command
> dispatch from bin/hadoop into a Java class.
I agree. This is easier.
> bin/hadoop script should check class name before running java
> -------------------------------------------------------------
>
> Key: HADOOP-3281
> URL: https://issues.apache.org/jira/browse/HADOOP-3281
> Project: Hadoop Core
> Issue Type: Bug
> Components: scripts
> Reporter: Tsz Wo (Nicholas), SZE
> Assignee: Edward J. Yoon
> Fix For: 0.18.0
>
> Attachments: 3281.patch
>
>
> When the first parameter ($1) cannot be matched with one of existing hadoop
> commnads, the parameter will be considered as a class name and the script
> will pass it to java. For examples,
> {noformat}
> bash-3.2$ ./bin/hadoop -version
> java version "1.5.0_14"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_14-b03)
> Java HotSpot(TM) Client VM (build 1.5.0_14-b03, mixed mode)
> bash-3.2$ ./bin/hadoop -help
> Usage: java [-options] class [args...]
> (to execute a class)
> or java [-options] -jar jarfile [args...]
> (to execute a jar file)
> ...
> {noformat}
> The behavior above is confusing. We should check whether the parameter is a
> valid class name before passing it to java.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.