Enis Soztutar created HBASE-8901:
------------------------------------

             Summary: Powershell based bin script (bin/hbase.ps1)
                 Key: HBASE-8901
                 URL: https://issues.apache.org/jira/browse/HBASE-8901
             Project: HBase
          Issue Type: Sub-task
          Components: scripts
            Reporter: Enis Soztutar
            Assignee: Enis Soztutar
             Fix For: 0.98.0, 0.95.2


This is a continuation of HADOOP-9660. 

Powershell does argument parsing itself before sending them to the program. 
Thus using the hbase.cmd script from the powershell environment comes with some 
surprises since ","s and "="s are parsed into .NET objects, and hbase.cmd 
receives those arguments separated by space. 

An example is: 
{code}
hbase org.apache.hadoop.hbase.mapreduce.CopyTable --new.name=tablecopy 
--families=f1:f1,f2:f2,f3:f3 table1
{code}
will be send to the java process as 
["--new.name", "tablecopy", "--families", "f1:f1", "f2:f2", "f3:f3", "table1"]

A lot of HBase commands already make use of commas and equals signs for their 
arguments, it is important to create least surprise for the users between 
different platforms (meaning that they should be able to copy-paste commands). 

Although there are some workarounds (like using --% or single and double 
quota-ing every argument, like '"--new.name=tablecopy"') they are not user 
friendly. 

In this isssue, I propose we add a small powershell script to pre-parse the 
arguments and reconstruct them to send to the hbase.cmd script. 

--
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

Reply via email to