You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Rick Kellogg (JIRA)" <ji...@apache.org> on 2015/07/23 23:14:06 UTC

[jira] [Commented] (HBASE-7621) REST server doesn't support binary row keys

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

Rick Kellogg commented on HBASE-7621:
-------------------------------------

On a related issue, I spent most of the day today tracking down a problem with text keys (part1*part2*part3) with embedded asterisks.  When I converted them to underscores all the problems went away.

Believe the fundamental issue is within the org.apache.hadoop.hbase.util.Bytes.toStringBinary method.  It attempts to do some sort of encoding which I believe is not URL friendly.

There are no unit tests related to punctuation characters in the KeyValueTestUtil class.

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