hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Keith David Winkler (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-7621) REST server doesn't support binary row keys
Date Wed, 17 Aug 2016 14:49:22 GMT

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

Mime
View raw message