You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Ted Yu (JIRA)" <ji...@apache.org> on 2015/11/11 17:48:11 UTC

[jira] [Commented] (PHOENIX-2401) Split table is failing when the table is local indexed in secure cluster

    [ https://issues.apache.org/jira/browse/PHOENIX-2401?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15000643#comment-15000643 ] 

Ted Yu commented on PHOENIX-2401:
---------------------------------

In patch v1, User.runAsLoginUser() is used to perform actions that lead to region close.

> 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
>
>         Attachments: phoenix-2401-v1.patch
>
>
> 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)