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)