[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.89.20100621, 0.20.6, 0.20.5, 0.20.4, 0.20.3
Reporter: Kieron Briggs
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.