[ 
https://issues.apache.org/jira/browse/HBASE-8213?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jieshan Bean reassigned HBASE-8213:
-----------------------------------

    Assignee: Jieshan Bean
    
> global authorization may lose efficacy 
> ---------------------------------------
>
>                 Key: HBASE-8213
>                 URL: https://issues.apache.org/jira/browse/HBASE-8213
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Jieshan Bean
>            Assignee: Jieshan Bean
>            Priority: Critical
>
> It depends on the order of which region be opened first.  
> Suppose we have one 1 regionserver and only 1 user region REGION-A on this 
> server, _acl_ region was on another regionserver. _acl_ was opened a few 
> seconds before REGION-A.
> The global authorization data read from Zookeeper was overwritten by the data 
> read from configuration.
> {code}
>   private TableAuthManager(ZooKeeperWatcher watcher, Configuration conf)
>       throws IOException {
>     this.conf = conf;
>     this.zkperms = new ZKPermissionWatcher(watcher, this, conf);
>     try {
>         // Read global authorization data from zookeeper. 
>       this.zkperms.start();
>     } catch (KeeperException ke) {
>       LOG.error("ZooKeeper initialization failed", ke);
>     }
>     // It will overwrite globalCache.
>     // initialize global permissions based on configuration
>     globalCache = initGlobal(conf);
>   }
> {code}
> This issue can be easily reproduced by below steps:
> 1. Start a cluster with 3 regionservers.
> 2. Create a new table T1.
> 3. grant a new user USER-A with global authorization.
> 4. Kill 1 regionserver RS3 and switch balance off.
> 5. Start regionserver RS3.
> 6. Assign region T1 to RS3.
> 7. Put data with user USER-A.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to