[
https://issues.apache.org/jira/browse/HBASE-9973?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13825131#comment-13825131
]
Matteo Bertozzi commented on HBASE-9973:
----------------------------------------
the compaction looks unnecessary to me, and not related to snapshot.. since
there is no modification in place, a new file will be flushed.
patch looks good to me, I'll give it a try tomorrow, few minor fixes on the
patch:
Replace the Put rowKey with AccessControlLists.ACL_GLOBAL_NAME
Move the if (r == null || r.size() == 0) that checks the result before the
Delete
does the region.close() trigger a flush? (I guess..) add a note about it before
the close call.
> [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.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)