[
https://issues.apache.org/jira/browse/HBASE-2906?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrew Purtell updated HBASE-2906:
----------------------------------
Attachment: HBASE-2906.patch
> [rest/stargate] URI decoding in RowResource
> -------------------------------------------
>
> Key: HBASE-2906
> URL: https://issues.apache.org/jira/browse/HBASE-2906
> Project: HBase
> Issue Type: Bug
> Components: rest
> Affects Versions: 0.20.3, 0.20.4, 0.20.5, 0.20.6, 0.89.20100621
> Reporter: Kieron Briggs
> Assignee: Andrew Purtell
> Fix For: 0.20.7, 0.90.0
>
> Attachments: HBASE-2906.patch
>
>
> Currently the RowResource constructor URI-decodes the rowspec string before
> passing it to the RowSpec constructor, which breaks rowspecs whose row,
> column etc identifiers contain slashes.
> When addressing a row and/or column whose identifier contains a slash, the
> client must URI-encode the values, so for example a row whose identifier is
> 'http://hbase.apache.org/' would be addressed as:
> /tablename/http%3a%2f%2fhbase.apache.org%2f/column:qualifier
> Currently RowResource() decodes this before passing to RowSpec(), so
> RowSpec() recieves:
> /tablename/http://hbase.apache.org//column:qualifier
> which cannot be correctly parsed because of the extra slashes.
> RowResource() should pass the string on to RowSpec() undecoded, and RowSpec()
> should decode the components individually after piecing apart the path.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.