Ted Yu created PHOENIX-2401: ------------------------------- Summary: Split table is failing when the table is local indexed in secure cluster Key: PHOENIX-2401 URL: https://issues.apache.org/jira/browse/PHOENIX-2401 Project: Phoenix Issue Type: Bug Reporter: Ted Yu Assignee: Ted Yu Fix For: 4.7.0
First reported by Shankar Hiremath, the following was observed in region server log: {code} 2015-11-04 04:32:47,171 INFO [regionserver/os-rs-phoenix-5.novalocal/172.22.86.195:16020-splits-1446611566806] regionserver.RegionCoprocessorHost: Loaded coprocessor org.apache.phoenix.coprocessor.ScanRegionObserver from HTD of GIGANTIC_TABLE successfully. 2015-11-04 04:32:47,171 INFO [regionserver/os-rs-phoenix-5.novalocal/172.22.86.195:16020-splits-1446611566806] regionserver.RegionCoprocessorHost: Loaded coprocessor org.apache.phoenix.coprocessor.UngroupedAggregateRegionObserver from HTD of GIGANTIC_TABLE successfully. 2015-11-04 04:32:47,311 WARN [regionserver/os-rs-phoenix-5.novalocal/172.22.86.195:16020-splits-1446611566806] regionserver.LocalIndexSplitter: index region splitting failed with the exception org.apache.hadoop.hbase.security.AccessDeniedException: Insufficient permissions for user 'hrt_qa' (global, action=ADMIN) at org.apache.hadoop.hbase.security.access.AccessController.requireGlobalPermission(AccessController.java:531) at org.apache.hadoop.hbase.security.access.AccessController.requirePermission(AccessController.java:507) at org.apache.hadoop.hbase.security.access.AccessController.preClose(AccessController.java:2399) at org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost$4.call(RegionCoprocessorHost.java:478) at org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost$RegionOperation.call(RegionCoprocessorHost.java:1673) at org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.execOperation(RegionCoprocessorHost.java:1748) at org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.preClose(RegionCoprocessorHost.java:474) at org.apache.hadoop.hbase.regionserver.HRegion.doClose(HRegion.java:1361) at org.apache.hadoop.hbase.regionserver.HRegion.close(HRegion.java:1337) at org.apache.hadoop.hbase.regionserver.SplitTransactionImpl.stepsBeforePONR(SplitTransactionImpl.java:394) at org.apache.hadoop.hbase.regionserver.LocalIndexSplitter.preSplitBeforePONR(LocalIndexSplitter.java:103) at org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost$19.call(RegionCoprocessorHost.java:728) at org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost$RegionOperation.call(RegionCoprocessorHost.java:1673) at org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.execOperation(RegionCoprocessorHost.java:1748) at org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.execOperation(RegionCoprocessorHost.java:1705) at org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.preSplitBeforePONR(RegionCoprocessorHost.java:724) at org.apache.hadoop.hbase.regionserver.SplitTransactionImpl$2.run(SplitTransactionImpl.java:290) at org.apache.hadoop.hbase.regionserver.SplitTransactionImpl$2.run(SplitTransactionImpl.java:287) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:422) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1657) at org.apache.hadoop.hbase.regionserver.SplitTransactionImpl.createDaughters(SplitTransactionImpl.java:287) at org.apache.hadoop.hbase.regionserver.SplitTransactionImpl.execute(SplitTransactionImpl.java:561) at org.apache.hadoop.hbase.regionserver.SplitRequest.doSplitting(SplitRequest.java:82) at org.apache.hadoop.hbase.regionserver.SplitRequest.run(SplitRequest.java:154) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) {code} HBASE-14605 was in place. The cause was that some of the actions performed by LocalIndexSplitter are now executed as the request user instead of hbase super user. -- This message was sent by Atlassian JIRA (v6.3.4#6332)