Andrew Purtell created HBASE-10220:
--------------------------------------
Summary: TestVisibilityLabelsWithACL is not setting up the
minicluster correctly
Key: HBASE-10220
URL: https://issues.apache.org/jira/browse/HBASE-10220
Project: HBase
Issue Type: Bug
Affects Versions: 0.98.0, 0.99.0
Reporter: Andrew Purtell
Fix For: 0.98.0, 0.99.0
TestVisibilityLabelsWithACL is not setting up the secure minicluster correctly.
The user running the test is the superuser. However, a principal based on the
user's account is created per virtual slave. We need to add all of these test
accounts to the superusers list also, or it is as if someone deployed HBase
with multiple service principals and didn't put them all into the
superuserlist. (This also makes me suspicious about this test, it's not
actually failing...)
You can see the issue here:
{noformat}
2013-12-20 18:25:44,979 WARN [htable-pool42-t1] client.AsyncProcess(664): #57,
table=hbase:meta, attempt=1/350 failed 1 ops, last exception:
org.apache.hadoop.hbase.security.AccessDeniedException:
org.apache.hadoop.hbase.security.AccessDeniedException: Insufficient
permissions (user=apurtell.hfs.1, scope=hbase:meta,
family=info:server|info:serverstartcode|info:seqnumDuringOpen, action=WRITE)
at
org.apache.hadoop.hbase.security.access.AccessController.requireCoveringPermission(AccessController.java:567)
at
org.apache.hadoop.hbase.security.access.AccessController.prePut(AccessController.java:1139)
at
org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.prePut(RegionCoprocessorHost.java:964)
at
org.apache.hadoop.hbase.regionserver.HRegion.doPreMutationHook(HRegion.java:2131)
at
org.apache.hadoop.hbase.regionserver.HRegion.batchMutate(HRegion.java:2106)
at
org.apache.hadoop.hbase.regionserver.HRegion.batchMutate(HRegion.java:2062)
at
org.apache.hadoop.hbase.regionserver.HRegion.batchMutate(HRegion.java:2066)
at
org.apache.hadoop.hbase.regionserver.HRegionServer.doBatchOp(HRegionServer.java:4206)
at
org.apache.hadoop.hbase.regionserver.HRegionServer.doNonAtomicRegionMutation(HRegionServer.java:3448)
at
org.apache.hadoop.hbase.regionserver.HRegionServer.multi(HRegionServer.java:3352)
at
org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:28460)
at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2008)
at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:92)
at
org.apache.hadoop.hbase.ipc.SimpleRpcScheduler.consumerLoop(SimpleRpcScheduler.java:160)
at
org.apache.hadoop.hbase.ipc.SimpleRpcScheduler.access$000(SimpleRpcScheduler.java:38)
at
org.apache.hadoop.hbase.ipc.SimpleRpcScheduler$1.run(SimpleRpcScheduler.java:110)
at java.lang.Thread.run(Thread.java:744)
on acer,47702,1387592735459, tracking started Fri Dec 20 18:25:44 PST 2013 -
FAILED, NOT RETRYING ANYMORE
2013-12-20 18:25:44,980 DEBUG
[PostOpenDeployTasks:bdd47ebb21d762590edf81127c8cd30f] client.HTable(949):
hbase:meta: One or more of the operations have failed - waiting for all
operation in progress to finish (successfully or not)
{noformat}
I think what I should do is take the code out of TestAccessController which
handles this and put it into
o.a.h.h.security.access.SecureTestUtil.enableSecurity and have this test use
that.
--
This message was sent by Atlassian JIRA
(v6.1.4#6159)