You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Andrew Purtell (JIRA)" <ji...@apache.org> on 2016/08/19 19:12:20 UTC

[jira] [Comment Edited] (HBASE-7621) REST client (RemoteHTable) doesn't support binary row keys

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

Andrew Purtell edited comment on HBASE-7621 at 8/19/16 7:11 PM:
----------------------------------------------------------------

This change looks fine to commit only to master and branch-1 branches, as it's a behavioral change but also a protocol correctness fix. I'd like us to consider moving RemoteHTable out of src/main/ to src/test/ but it has some users clearly so for now let's support it as we normally would. 

+1, will commit shortly


was (Author: apurtell):
This change looks fine to commit only to master branch, as it's an incompatible change. I'd like us to consider moving RemoteHTable out of src/main/ to src/test/ but it has some users clearly so for now let's support it as we normally would. 

+1, will commit shortly

> REST client (RemoteHTable) 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, 2.0.0
>            Reporter: Craig Muchinsky
>            Assignee: Keith David Winkler
>             Fix For: 2.0.0
>
>         Attachments: HBASE-7621.master.001.patch
>
>
> 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)