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

Himanshu Vashishtha commented on HBASE-9973:
--------------------------------------------

Yes, that's why I removed the compaction call, thanks. Yes, the region is 
flushed when we close it.

Good call, I skipped the ACL_GLOBAL_NAME variable. Added it and moved the 
result check up.

mvn test -Dtest=Test*Namespace* passes on local. Also, ran the upgrade against 
a 94 installation.

On a 94 set up:
{code}

hbase(main):006:0> scan '_acl_'
ROW                             COLUMN+CELL                                     
                                           
 TestTable                      column=l:root, timestamp=1384659937736, 
value=RW                                           
 _acl_                          column=l:root, timestamp=1384659909517, 
value=CRA                                          
 _acl_                          column=l:root2, timestamp=1384659916521, 
value=CRA                                         
2 row(s) in 0.0520 seconds
{code}

After upgrade to a 96 setup:
{code}
hbase(main):002:0> scan 'hbase:acl'
ROW                                       COLUMN+CELL
 TestTable                                column=l:root, 
timestamp=1384659937736, value=RW
 hbase:acl                                column=l:root, 
timestamp=1384797939800, value=CRA
 hbase:acl                                column=l:root2, 
timestamp=1384797939800, value=CRA
2 row(s) in 0.0190 seconds
{code}

> [ACL]: Users with 'Admin' ACL permission will lose permissions after upgrade 
> to 0.96.x from 0.94.x or 0.92.x
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-9973
>                 URL: https://issues.apache.org/jira/browse/HBASE-9973
>             Project: HBase
>          Issue Type: Bug
>          Components: security
>    Affects Versions: 0.96.0, 0.96.1
>            Reporter: Aleksandr Shulman
>            Assignee: Himanshu Vashishtha
>              Labels: acl
>             Fix For: 0.96.1
>
>         Attachments: 9973-v2.patch, 9973.patch
>
>
> In our testing, we have uncovered that the ACL permissions for users with the 
> 'A' credential do not hold after the upgrade to 0.96.x.
> This is because in the ACL table, the entry for the admin user is a 
> permission on the '_acl_' table with permission 'A'. However, because of the 
> namespace transition, there is no longer an '_acl_' table. Therefore, that 
> entry in the hbase:acl table is no longer valid.
> Example:
> {code}hbase(main):002:0> scan 'hbase:acl'
> ROW                   COLUMN+CELL                                             
>   
>  TestTable            column=l:hdfs, timestamp=1384454830701, value=RW        
>   
>  TestTable            column=l:root, timestamp=1384455875586, value=RWCA      
>   
>  _acl_                column=l:root, timestamp=1384454767568, value=C         
>   
>  _acl_                column=l:tableAdmin, timestamp=1384454788035, value=A   
>   
>  hbase:acl            column=l:root, timestamp=1384455875786, value=C         
>   
> {code}
> In this case, the following entry becomes meaningless:
> {code} _acl_                column=l:tableAdmin, timestamp=1384454788035, 
> value=A     {code}
> As a result, 
> Proposed fix:
> I see the fix being relatively straightforward. As part of the migration, 
> change any entries in the '_acl_' table with key '_acl_' into a new row with 
> key 'hbase:acl', all else being the same. And the old entry would be deleted.
> This can go into the standard migration script that we expect users to run.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to