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

Reply via email to