[
https://issues.apache.org/jira/browse/HBASE-12811?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ashish Singhi updated HBASE-12811:
----------------------------------
Description:
Steps to reproduce
1) Grant a user permission(other than READ) on a namespace
2) Scan a table in that namespace from that user
we get the following exception.
{noformat}
java.lang.NullPointerException
at
org.apache.hadoop.hbase.security.access.TablePermission.implies(TablePermission.java:215)
at
org.apache.hadoop.hbase.security.access.TableAuthManager.authorize(TableAuthManager.java:340)
at
org.apache.hadoop.hbase.security.access.TableAuthManager.authorize(TableAuthManager.java:332)
at
org.apache.hadoop.hbase.security.access.TableAuthManager.authorizeGroup(TableAuthManager.java:473)
at
org.apache.hadoop.hbase.security.access.TableAuthManager.authorize(TableAuthManager.java:490)
at
org.apache.hadoop.hbase.security.access.TableAuthManager.authorize(TableAuthManager.java:500)
at
org.apache.hadoop.hbase.security.access.AccessController.permissionGranted(AccessController.java:415)
at
org.apache.hadoop.hbase.security.access.AccessController.permissionGranted(AccessController.java:484)
at
org.apache.hadoop.hbase.security.access.AccessController.internalPreRead(AccessController.java:1504)
at
org.apache.hadoop.hbase.security.access.AccessController.preScannerOpen(AccessController.java:2027)
at
org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.preScannerOpen(RegionCoprocessorHost.java:1987)
at
org.apache.hadoop.hbase.regionserver.HRegionServer.scan(HRegionServer.java:3102)
{noformat}
*Note:* Line numbers may not match.
was:
A user is associated with two groups.
{noformat}
/hbase/bin> groups ashish_test
ashish_test : defaultgroup ashish_test_1420524824527
{noformat}
One of its group is granted permission on a table as shown by user_permission
command.
{noformat}
hbase(main):005:0> user_permission 't1'
User
Table,Family,Qualifier:Permission
@ashish_test_1420524824527 t1,,: [Permission:
actions=EXEC,WRITE,CREATE]
@ashish_test_1420524824527 t1,d,: [Permission:
actions=EXEC,WRITE,CREATE]
hbase t1,,: [Permission:
actions=READ,WRITE,EXEC,CREATE,ADMIN]
3 row(s) in 0.3710 seconds
{noformat}
Now when this user try the scan the table, we get the following exception.
{noformat}
java.lang.NullPointerException
at
org.apache.hadoop.hbase.security.access.TablePermission.implies(TablePermission.java:215)
at
org.apache.hadoop.hbase.security.access.TableAuthManager.authorize(TableAuthManager.java:340)
at
org.apache.hadoop.hbase.security.access.TableAuthManager.authorize(TableAuthManager.java:332)
at
org.apache.hadoop.hbase.security.access.TableAuthManager.authorizeGroup(TableAuthManager.java:473)
at
org.apache.hadoop.hbase.security.access.TableAuthManager.authorize(TableAuthManager.java:490)
at
org.apache.hadoop.hbase.security.access.TableAuthManager.authorize(TableAuthManager.java:500)
at
org.apache.hadoop.hbase.security.access.AccessController.permissionGranted(AccessController.java:415)
at
org.apache.hadoop.hbase.security.access.AccessController.permissionGranted(AccessController.java:484)
at
org.apache.hadoop.hbase.security.access.AccessController.internalPreRead(AccessController.java:1504)
at
org.apache.hadoop.hbase.security.access.AccessController.preScannerOpen(AccessController.java:2027)
at
org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.preScannerOpen(RegionCoprocessorHost.java:1987)
at
org.apache.hadoop.hbase.regionserver.HRegionServer.scan(HRegionServer.java:3102)
{noformat}
*Note:* Line numbers may not match.
Exception is coming because the other group of same user which has not been
granted permission on the table will have the TablePermission's table(name) as
null.
Summary: [AccessController] NPE while scan a table with user not having
READ permission on the namespace (was: [AccessController] NPE while scan a
table with user associated with multiple groups.)
> [AccessController] NPE while scan a table with user not having READ
> permission on the namespace
> -----------------------------------------------------------------------------------------------
>
> Key: HBASE-12811
> URL: https://issues.apache.org/jira/browse/HBASE-12811
> Project: HBase
> Issue Type: Bug
> Components: security
> Affects Versions: 0.98.9
> Reporter: Ashish Singhi
> Assignee: Ashish Singhi
> Fix For: 1.0.0, 2.0.0, 0.98.10, 1.1.0
>
>
> Steps to reproduce
> 1) Grant a user permission(other than READ) on a namespace
> 2) Scan a table in that namespace from that user
> we get the following exception.
> {noformat}
> java.lang.NullPointerException
> at
> org.apache.hadoop.hbase.security.access.TablePermission.implies(TablePermission.java:215)
> at
> org.apache.hadoop.hbase.security.access.TableAuthManager.authorize(TableAuthManager.java:340)
> at
> org.apache.hadoop.hbase.security.access.TableAuthManager.authorize(TableAuthManager.java:332)
> at
> org.apache.hadoop.hbase.security.access.TableAuthManager.authorizeGroup(TableAuthManager.java:473)
> at
> org.apache.hadoop.hbase.security.access.TableAuthManager.authorize(TableAuthManager.java:490)
> at
> org.apache.hadoop.hbase.security.access.TableAuthManager.authorize(TableAuthManager.java:500)
> at
> org.apache.hadoop.hbase.security.access.AccessController.permissionGranted(AccessController.java:415)
> at
> org.apache.hadoop.hbase.security.access.AccessController.permissionGranted(AccessController.java:484)
> at
> org.apache.hadoop.hbase.security.access.AccessController.internalPreRead(AccessController.java:1504)
> at
> org.apache.hadoop.hbase.security.access.AccessController.preScannerOpen(AccessController.java:2027)
> at
> org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.preScannerOpen(RegionCoprocessorHost.java:1987)
> at
> org.apache.hadoop.hbase.regionserver.HRegionServer.scan(HRegionServer.java:3102)
> {noformat}
> *Note:* Line numbers may not match.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)