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

ramkrishna.s.vasudevan commented on HBASE-11438:
------------------------------------------------

bq.While using it in Authorizations and addLabels the user can simply specify 
the special characters as a normal String. Like 'a&B'. But when the same has to 
be use in cell visibility it has to be quoted so that the system can 
differentiate between '&' use in the label and '&' used as an operator in an 
expression.

As stated above in the comment we don't need to do any quote() while adding 
labels and while using it in authorizations.  Because if we do that then the 
addLabel logic has to have a parsing logic and that should create a string 
without the quote that was added additionally. So we just allow the user to 
specify any such Strings as a normal java String.
But when we use in Cell Visibility we would ensure that the user uses quotes 
for special characters and for characters like '&','!', etc so that while 
parsing the expression we would be knowing that there is a usage of special 
characters. So while parsing this cell visibility expression if there is an 
occurence of any special character we just fail it. Hence the Authorizations 
does not have any validation because we just allow any string to be specified 
there. Similar is the case with addLabels.  
Regarding the usage of list of bytes and converting it into String, I think it 
is needed because we have to recreate the string without double quotes that was 
additionally added while doing quote().  Let me check that once again.

> [Visibility Controller] Support UTF8 character as Visibility Labels
> -------------------------------------------------------------------
>
>                 Key: HBASE-11438
>                 URL: https://issues.apache.org/jira/browse/HBASE-11438
>             Project: HBase
>          Issue Type: Improvement
>          Components: security
>    Affects Versions: 0.98.4
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.98.6
>
>         Attachments: HBASE-11438_v1.patch, HBASE-11438_v2.patch, 
> HBASE-11438_v3.patch, HBASE-11438_v4.patch, HBASE-11438_v5.patch, 
> HBASE-11438_v6.patch, HBASE-11438_v7.patch
>
>
> This would be an action item that we would be addressing so that the 
> visibility labels could have UTF8 characters in them.  Also allow the user to 
> use a client supplied API that allows to specify the visibility labels inside 
> double quotes such that UTF8 characters and cases like &, |, ! and double 
> quotes itself could be specified with proper escape sequence.  Accumulo too 
> provides one such API in the client side.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to