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

Keith David Winkler commented on HBASE-7621:
--------------------------------------------

I don't seem to have permission to attach a patch, though I have done so in the 
past.  I have placed the patch here (maybe someone else can attach):

https://redshiftsoft.com/patches/HBASE-7621.master.001.patch

This patch properly escapes all usages of row keys, columns, and qualifiers in 
RemoteHTable.  It is not necessary to escape table names as Hbase itself 
requires they contain only characters which are already valid in URLs.   In 
TestRemoteHTable I updated the row keys, columns, and qualifiers to contain 
invalid URL characters.  This caused all tests in the class to fail before my 
fix is applied.

> REST server doesn't support binary row keys
> -------------------------------------------
>
>                 Key: HBASE-7621
>                 URL: https://issues.apache.org/jira/browse/HBASE-7621
>             Project: HBase
>          Issue Type: Bug
>          Components: REST
>    Affects Versions: 0.94.0, 0.95.2, 0.98.4
>            Reporter: Craig Muchinsky
>
> The REST server doesn't seem to support using binary (MD5 for example) row 
> keys. I believe the root cause of this is the use of Bytes.toBytes() in the 
> RowSpec.parseRowKeys() method. Based on the use of Bytes.toStringBinary() 
> within RemoteHTable.buildRowSpec(), I believe the converse function 
> Bytes.toBytesBinary() should be used for row key parsing in 
> RowSpec.parseRowKeys().
> I also noticed that the RemoteHTable.buildRowSpec() method isn't URL encoding 
> the row key, which is a mismatch to the logic in RowSpec.parseRowKeys() which 
> performs URL decoding for both the start and stop row keys.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to