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

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

Scans has to be with individual labels and that would ideally be the right 
behaviour because we are specifying what labels that user can see.  It is with 
Puts that we can say which labels are allowed to be scan for a user and so 
there the use of expressions make sense.
Also this is inline with Accumlo behaviour also. JFYI.
{code}
// user possess both admin and system level access
Authorization auths = new Authorization("admin","system");

Scanner s = connector.createScanner("table", auths)
{code}
as in Accumulo's doc.

> Operator | for visibility label doesn't work
> --------------------------------------------
>
>                 Key: HBASE-10878
>                 URL: https://issues.apache.org/jira/browse/HBASE-10878
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Ted Yu
>
> I used setup similar to that from HBASE-10863, with fix for HBASE-10863 :
> {code}
> hbase(main):003:0> scan 'hbase:labels'
> ROW                                          COLUMN+CELL
>  \x00\x00\x00\x01                            column=f:\x00, 
> timestamp=1395944796030, value=system
>  \x00\x00\x00\x01                            column=f:hbase, 
> timestamp=1395944796030, value=
>  \x00\x00\x00\x02                            column=f:\x00, 
> timestamp=1395951045442, value=TOP_SECRET
>  \x00\x00\x00\x02                            column=f:hrt_qa, 
> timestamp=1395951229682, value=
>  \x00\x00\x00\x02                            column=f:hrt_qa1, 
> timestamp=1395951270297, value=
>  \x00\x00\x00\x02                            column=f:mapred, 
> timestamp=1395958442326, value=
>  \x00\x00\x00\x03                            column=f:\x00, 
> timestamp=1395952069731, value=TOP_TOP_SECRET
>  \x00\x00\x00\x03                            column=f:mapred, 
> timestamp=1395956032141, value=
>  \x00\x00\x00\x04                            column=f:\x00, 
> timestamp=1395971516605, value=A
>  \x00\x00\x00\x04                            column=f:oozie, 
> timestamp=1395971647859, value=
>  \x00\x00\x00\x05                            column=f:\x00, 
> timestamp=1395971520327, value=B
> 5 row(s) in 0.0580 seconds
> {code}
> I did the following as user oozie using hbase shell:
> {code}
> hbase(main):001:0> scan 'tb', { AUTHORIZATIONS => ['A']}
> ROW                                          COLUMN+CELL
>  row                                         column=f1:q, 
> timestamp=1395971660859, value=v1
>  row2                                        column=f1:q, 
> timestamp=1395972271343, value=v2
>  row3                                        column=f1:q, 
> timestamp=1396067477702, value=v3
> 3 row(s) in 0.2050 seconds
> hbase(main):002:0> scan 'tb', { AUTHORIZATIONS => ['A|B']}
> ROW                                          COLUMN+CELL
>  row2                                        column=f1:q, 
> timestamp=1395972271343, value=v2
> 1 row(s) in 0.0150 seconds
> hbase(main):003:0> scan 'tb', { AUTHORIZATIONS => ['B|A']}
> ROW                                          COLUMN+CELL
>  row2                                        column=f1:q, 
> timestamp=1395972271343, value=v2
> 1 row(s) in 0.0260 seconds
> {code}
> Rows 'row' and 'row3' were inserted with label 'A'.
> Row 'row2' was inserted without label.
> Row 'row1' was inserted with label 'B'.
> I would expect row1 to also be returned.



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

Reply via email to