hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Enis Soztutar (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HADOOP-9660) [WINDOWS] Powershell / cmd parses -Dkey=value from command line as [-Dkey, value] which breaks GenericsOptionParser
Date Fri, 28 Jun 2013 18:18:20 GMT

    [ https://issues.apache.org/jira/browse/HADOOP-9660?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13695625#comment-13695625
] 

Enis Soztutar commented on HADOOP-9660:
---------------------------------------

The problem both affects hadoop and hbase, and all implementations of Tool interface in other
projects. Mainly, -Dkey=value is used to override configuration parameters from command line.
At least 10 different classes use this to accept command line arguments in HBase, also Hadoop's
own FSShell, JobClient, etc. 

What I am trying to solve is that the user should not have to do powershell or cmd specific
workarounds for passing the args. The thing about --% is that the user have to be aware of
this limitation and remember to use this everywhere she is using -Dkey=value. Moreover, --%
does not work with cmd. This means that the user has to be aware of whether she is using cmd
or powershell, and depending on the shell, use --% or not. I fear this will make life hard
for users as well as QA environments. 
                
> [WINDOWS] Powershell / cmd parses -Dkey=value from command line as [-Dkey, value] which
breaks GenericsOptionParser
> -------------------------------------------------------------------------------------------------------------------
>
>                 Key: HADOOP-9660
>                 URL: https://issues.apache.org/jira/browse/HADOOP-9660
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: scripts, util
>            Reporter: Enis Soztutar
>            Assignee: Enis Soztutar
>             Fix For: 3.0.0, 2.1.0-beta
>
>         Attachments: hadoop-9660-branch1_v1.patch, hadoop-9660-branch2_v1.patch
>
>
> When parsing parameters to a class implementing Tool, and using ToolRunner, we can pass

> {code}
> bin/hadoop <tool_class> -Dkey=value 
> {code}
> However, powershell parses the '=' sign itself, and sends it to  java as ["-Dkey", "value"]
which breaks GenericOptionsParser. 
> Using "-Dkey=value" or '-Dkey=value' does not fix the problem. The only workaround seems
to trick PS by using: 
> '"-Dkey=value"' (single + double quote)
> In cmd, "-Dkey=value" works, but not '"-Dkey=value"'. 
> http://stackoverflow.com/questions/4940375/how-do-i-pass-an-equal-sign-when-calling-a-batch-script-in-powershell

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message