[jira] [Commented] (HIVE-10144) [LLAP] merge brought in file blocking github sync

2018-12-11 Thread Johannes Alberti (JIRA)


[ 
https://issues.apache.org/jira/browse/HIVE-10144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16718433#comment-16718433
 ] 

Johannes Alberti commented on HIVE-10144:
-

the same issue still exists, the big file 
(itests/thirdparty/spark-1.2.0-bin-hadoop2-without-hive.tgz) is still around in 
the history of the current github.com/apache/hive repo, the file was introduced 
with commit 
https://github.com/apache/hive/commit/5feb58db2c99627cb41a747a097a0ec4b019d60c 
and is still reachable in the history via branch 'spark' and tag 
'master_2015_11_30', a mirror to any github enterprise with binary file limit 
of <=100GB fails due to these references

{noformat}
$ git log --all --full-history -- *spark-1.2.0-bin-hadoop2-without-hive*
[...]
$ git branch --all --contains 5feb58db2c99627cb41a747a097a0ec4b019d60c
remotes/origin/spark
$ git tag --contains 5feb58db2c99627cb41a747a097a0ec4b019d60c
master_2015_11_30
{noformat}

I was able to create a partial mirror by excluding the spark branch and the old 
tag

{noformat}
$ git clone https://github.com/apache/hive.git
$ cd hive
$ git remote set-url --push origin https://github.foo.bar/foobar/hive
$ git branch -r -d origin/spark
$ git tag master_2015_11_30 -d
$ git reflog expire --expire=now --all && git gc --prune=now --aggressive
$ git push --prune origin +refs/remotes/origin/*:refs/heads/* 
+refs/tags/*:refs/tags/*
{noformat}

> [LLAP] merge brought in file blocking github sync
> -
>
> Key: HIVE-10144
> URL: https://issues.apache.org/jira/browse/HIVE-10144
> Project: Hive
>  Issue Type: Bug
>  Components: Build Infrastructure
>Reporter: Szehon Ho
>Assignee: Gunther Hagleitner
>Priority: Major
>
> r1669718 brought in a file that is not in source control on llap branch:
> [http://svn.apache.org/repos/asf/hive/branches/llap/itests/thirdparty/|http://svn.apache.org/repos/asf/hive/branches/llap/itests/thirdparty/]
> It is a file downloaded during test build and should not be in source 
> control.  It is actually blocking the github sync as its too large. See 
> INFRA-9360



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HIVE-18293) Hive is failing to compact tables contained within a folder that is not owned by identity running HiveMetaStore

2017-12-19 Thread Johannes Alberti (JIRA)

[ 
https://issues.apache.org/jira/browse/HIVE-18293?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16297682#comment-16297682
 ] 

Johannes Alberti commented on HIVE-18293:
-

Thanks [~ekoifman], patch attached.

> Hive is failing to compact tables contained within a folder that is not owned 
> by identity running HiveMetaStore
> ---
>
> Key: HIVE-18293
> URL: https://issues.apache.org/jira/browse/HIVE-18293
> Project: Hive
>  Issue Type: Bug
>  Components: Transactions
>Affects Versions: 2.1.1
> Environment: Centos6.5/Hadoop2.7.4/Java7
>Reporter: Johannes Alberti
>Assignee: Johannes Alberti
>Priority: Critical
> Attachments: HIVE-18293.patch
>
>
> ACID tables are not getting compacted properly due to an 
> AccessControlException, this only occurs for tables contained in the 
> non-default database.
> The root cause for the issue is the re-use of an already created 
> DistributedFileSystem instance within a new DoAs context. I will attach a 
> patch for the same.
> Stack below (anonymized)
> {noformat}
> compactor.Worker: Caught an exception in the main loop of compactor worker 
> [[hostname]]-34, org.apache.hadoop.security.AccessControlException: 
> Permission denied: user=hive, access=EXECUTE, 
> inode="/hive/non-default.db":nothive:othergroup:drwxrwx---
> at 
> org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkTraverse(FSPermissionChecker.java:275)
> at 
> org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:215)
> at 
> org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:199)
> at 
> org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkPermission(FSDirectory.java:1752)
> at 
> org.apache.hadoop.hdfs.server.namenode.FSDirStatAndListingOp.getFileInfo(FSDirStatAndListingOp.java:100)
> at 
> org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getFileInfo(FSNamesystem.java:3820)
> at 
> org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.getFileInfo(NameNodeRpcServer.java:1012)
> at 
> org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.getFileInfo(ClientNamenodeProtocolServerSideTranslatorPB.java:855)
> at 
> org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java)
> at 
> org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:616)
> at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:982)
> at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2217)
> at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2213)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAs(Subject.java:415)
> at 
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1767)
> at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2211)
> at sun.reflect.GeneratedConstructorAccessor83.newInstance(Unknown 
> Source)
> at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
> at 
> org.apache.hadoop.ipc.RemoteException.instantiateException(RemoteException.java:106)
> at 
> org.apache.hadoop.ipc.RemoteException.unwrapRemoteException(RemoteException.java:73)
> at org.apache.hadoop.hdfs.DFSClient.getFileInfo(DFSClient.java:2110)
> at 
> org.apache.hadoop.hdfs.DistributedFileSystem$22.doCall(DistributedFileSystem.java:1305)
> at 
> org.apache.hadoop.hdfs.DistributedFileSystem$22.doCall(DistributedFileSystem.java:1301)
> at 
> org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81)
> at 
> org.apache.hadoop.hdfs.DistributedFileSystem.getFileStatus(DistributedFileSystem.java:1301)
> at 
> org.apache.hadoop.hive.ql.txn.compactor.CompactorThread$1.run(CompactorThread.java:172)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAs(Subject.java:415)
> at 
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1767)
> at 
> org.apache.hadoop.hive.ql.txn.compactor.CompactorThread.findUserToRunAs(CompactorThread.java:169)
> at org.apache.hadoop.hive.ql.txn.compactor.Worker.run(Worker.java:151)
> Caused by: 
> org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.AccessControlException):
>  Permission denied: user=hive, 

[jira] [Updated] (HIVE-18293) Hive is failing to compact tables contained within a folder that is not owned by identity running HiveMetaStore

2017-12-19 Thread Johannes Alberti (JIRA)

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

Johannes Alberti updated HIVE-18293:

Attachment: HIVE-18293.patch

> Hive is failing to compact tables contained within a folder that is not owned 
> by identity running HiveMetaStore
> ---
>
> Key: HIVE-18293
> URL: https://issues.apache.org/jira/browse/HIVE-18293
> Project: Hive
>  Issue Type: Bug
>  Components: Transactions
>Affects Versions: 2.1.1
> Environment: Centos6.5/Hadoop2.7.4/Java7
>Reporter: Johannes Alberti
>Assignee: Johannes Alberti
>Priority: Critical
> Attachments: HIVE-18293.patch
>
>
> ACID tables are not getting compacted properly due to an 
> AccessControlException, this only occurs for tables contained in the 
> non-default database.
> The root cause for the issue is the re-use of an already created 
> DistributedFileSystem instance within a new DoAs context. I will attach a 
> patch for the same.
> Stack below (anonymized)
> {noformat}
> compactor.Worker: Caught an exception in the main loop of compactor worker 
> [[hostname]]-34, org.apache.hadoop.security.AccessControlException: 
> Permission denied: user=hive, access=EXECUTE, 
> inode="/hive/non-default.db":nothive:othergroup:drwxrwx---
> at 
> org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkTraverse(FSPermissionChecker.java:275)
> at 
> org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:215)
> at 
> org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:199)
> at 
> org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkPermission(FSDirectory.java:1752)
> at 
> org.apache.hadoop.hdfs.server.namenode.FSDirStatAndListingOp.getFileInfo(FSDirStatAndListingOp.java:100)
> at 
> org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getFileInfo(FSNamesystem.java:3820)
> at 
> org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.getFileInfo(NameNodeRpcServer.java:1012)
> at 
> org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.getFileInfo(ClientNamenodeProtocolServerSideTranslatorPB.java:855)
> at 
> org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java)
> at 
> org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:616)
> at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:982)
> at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2217)
> at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2213)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAs(Subject.java:415)
> at 
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1767)
> at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2211)
> at sun.reflect.GeneratedConstructorAccessor83.newInstance(Unknown 
> Source)
> at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
> at 
> org.apache.hadoop.ipc.RemoteException.instantiateException(RemoteException.java:106)
> at 
> org.apache.hadoop.ipc.RemoteException.unwrapRemoteException(RemoteException.java:73)
> at org.apache.hadoop.hdfs.DFSClient.getFileInfo(DFSClient.java:2110)
> at 
> org.apache.hadoop.hdfs.DistributedFileSystem$22.doCall(DistributedFileSystem.java:1305)
> at 
> org.apache.hadoop.hdfs.DistributedFileSystem$22.doCall(DistributedFileSystem.java:1301)
> at 
> org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81)
> at 
> org.apache.hadoop.hdfs.DistributedFileSystem.getFileStatus(DistributedFileSystem.java:1301)
> at 
> org.apache.hadoop.hive.ql.txn.compactor.CompactorThread$1.run(CompactorThread.java:172)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAs(Subject.java:415)
> at 
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1767)
> at 
> org.apache.hadoop.hive.ql.txn.compactor.CompactorThread.findUserToRunAs(CompactorThread.java:169)
> at org.apache.hadoop.hive.ql.txn.compactor.Worker.run(Worker.java:151)
> Caused by: 
> org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.AccessControlException):
>  Permission denied: user=hive, access=EXECUTE, 
> 

[jira] [Updated] (HIVE-18293) Hive is failing to compact tables contained within a folder that is not owned by identity running HiveMetaStore

2017-12-19 Thread Johannes Alberti (JIRA)

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

Johannes Alberti updated HIVE-18293:

Attachment: (was: 
0001-create-a-new-FileSystem-instance-to-fix-ugi-context.patch)

> Hive is failing to compact tables contained within a folder that is not owned 
> by identity running HiveMetaStore
> ---
>
> Key: HIVE-18293
> URL: https://issues.apache.org/jira/browse/HIVE-18293
> Project: Hive
>  Issue Type: Bug
>  Components: Transactions
>Affects Versions: 2.1.1
> Environment: Centos6.5/Hadoop2.7.4/Java7
>Reporter: Johannes Alberti
>Assignee: Johannes Alberti
>Priority: Critical
>
> ACID tables are not getting compacted properly due to an 
> AccessControlException, this only occurs for tables contained in the 
> non-default database.
> The root cause for the issue is the re-use of an already created 
> DistributedFileSystem instance within a new DoAs context. I will attach a 
> patch for the same.
> Stack below (anonymized)
> {noformat}
> compactor.Worker: Caught an exception in the main loop of compactor worker 
> [[hostname]]-34, org.apache.hadoop.security.AccessControlException: 
> Permission denied: user=hive, access=EXECUTE, 
> inode="/hive/non-default.db":nothive:othergroup:drwxrwx---
> at 
> org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkTraverse(FSPermissionChecker.java:275)
> at 
> org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:215)
> at 
> org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:199)
> at 
> org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkPermission(FSDirectory.java:1752)
> at 
> org.apache.hadoop.hdfs.server.namenode.FSDirStatAndListingOp.getFileInfo(FSDirStatAndListingOp.java:100)
> at 
> org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getFileInfo(FSNamesystem.java:3820)
> at 
> org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.getFileInfo(NameNodeRpcServer.java:1012)
> at 
> org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.getFileInfo(ClientNamenodeProtocolServerSideTranslatorPB.java:855)
> at 
> org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java)
> at 
> org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:616)
> at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:982)
> at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2217)
> at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2213)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAs(Subject.java:415)
> at 
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1767)
> at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2211)
> at sun.reflect.GeneratedConstructorAccessor83.newInstance(Unknown 
> Source)
> at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
> at 
> org.apache.hadoop.ipc.RemoteException.instantiateException(RemoteException.java:106)
> at 
> org.apache.hadoop.ipc.RemoteException.unwrapRemoteException(RemoteException.java:73)
> at org.apache.hadoop.hdfs.DFSClient.getFileInfo(DFSClient.java:2110)
> at 
> org.apache.hadoop.hdfs.DistributedFileSystem$22.doCall(DistributedFileSystem.java:1305)
> at 
> org.apache.hadoop.hdfs.DistributedFileSystem$22.doCall(DistributedFileSystem.java:1301)
> at 
> org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81)
> at 
> org.apache.hadoop.hdfs.DistributedFileSystem.getFileStatus(DistributedFileSystem.java:1301)
> at 
> org.apache.hadoop.hive.ql.txn.compactor.CompactorThread$1.run(CompactorThread.java:172)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAs(Subject.java:415)
> at 
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1767)
> at 
> org.apache.hadoop.hive.ql.txn.compactor.CompactorThread.findUserToRunAs(CompactorThread.java:169)
> at org.apache.hadoop.hive.ql.txn.compactor.Worker.run(Worker.java:151)
> Caused by: 
> org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.AccessControlException):
>  Permission denied: user=hive, access=EXECUTE, 
> 

[jira] [Updated] (HIVE-18293) Hive is failing to compact tables contained within a folder that is not owned by identity running HiveMetaStore

2017-12-19 Thread Johannes Alberti (JIRA)

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

Johannes Alberti updated HIVE-18293:

Attachment: 0001-create-a-new-FileSystem-instance-to-fix-ugi-context.patch

> Hive is failing to compact tables contained within a folder that is not owned 
> by identity running HiveMetaStore
> ---
>
> Key: HIVE-18293
> URL: https://issues.apache.org/jira/browse/HIVE-18293
> Project: Hive
>  Issue Type: Bug
>  Components: Transactions
>Affects Versions: 2.1.1
> Environment: Centos6.5/Hadoop2.7.4/Java7
>Reporter: Johannes Alberti
>Assignee: Johannes Alberti
>Priority: Critical
> Attachments: 
> 0001-create-a-new-FileSystem-instance-to-fix-ugi-context.patch
>
>
> ACID tables are not getting compacted properly due to an 
> AccessControlException, this only occurs for tables contained in the 
> non-default database.
> The root cause for the issue is the re-use of an already created 
> DistributedFileSystem instance within a new DoAs context. I will attach a 
> patch for the same.
> Stack below (anonymized)
> {noformat}
> compactor.Worker: Caught an exception in the main loop of compactor worker 
> [[hostname]]-34, org.apache.hadoop.security.AccessControlException: 
> Permission denied: user=hive, access=EXECUTE, 
> inode="/hive/non-default.db":nothive:othergroup:drwxrwx---
> at 
> org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkTraverse(FSPermissionChecker.java:275)
> at 
> org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:215)
> at 
> org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:199)
> at 
> org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkPermission(FSDirectory.java:1752)
> at 
> org.apache.hadoop.hdfs.server.namenode.FSDirStatAndListingOp.getFileInfo(FSDirStatAndListingOp.java:100)
> at 
> org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getFileInfo(FSNamesystem.java:3820)
> at 
> org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.getFileInfo(NameNodeRpcServer.java:1012)
> at 
> org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.getFileInfo(ClientNamenodeProtocolServerSideTranslatorPB.java:855)
> at 
> org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java)
> at 
> org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:616)
> at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:982)
> at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2217)
> at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2213)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAs(Subject.java:415)
> at 
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1767)
> at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2211)
> at sun.reflect.GeneratedConstructorAccessor83.newInstance(Unknown 
> Source)
> at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
> at 
> org.apache.hadoop.ipc.RemoteException.instantiateException(RemoteException.java:106)
> at 
> org.apache.hadoop.ipc.RemoteException.unwrapRemoteException(RemoteException.java:73)
> at org.apache.hadoop.hdfs.DFSClient.getFileInfo(DFSClient.java:2110)
> at 
> org.apache.hadoop.hdfs.DistributedFileSystem$22.doCall(DistributedFileSystem.java:1305)
> at 
> org.apache.hadoop.hdfs.DistributedFileSystem$22.doCall(DistributedFileSystem.java:1301)
> at 
> org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81)
> at 
> org.apache.hadoop.hdfs.DistributedFileSystem.getFileStatus(DistributedFileSystem.java:1301)
> at 
> org.apache.hadoop.hive.ql.txn.compactor.CompactorThread$1.run(CompactorThread.java:172)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAs(Subject.java:415)
> at 
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1767)
> at 
> org.apache.hadoop.hive.ql.txn.compactor.CompactorThread.findUserToRunAs(CompactorThread.java:169)
> at org.apache.hadoop.hive.ql.txn.compactor.Worker.run(Worker.java:151)
> Caused by: 
> 

[jira] [Updated] (HIVE-18293) Hive is failing to compact tables contained within a folder that is not owned by identity running HiveMetaStore

2017-12-19 Thread Johannes Alberti (JIRA)

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

Johannes Alberti updated HIVE-18293:

Status: Patch Available  (was: In Progress)

> Hive is failing to compact tables contained within a folder that is not owned 
> by identity running HiveMetaStore
> ---
>
> Key: HIVE-18293
> URL: https://issues.apache.org/jira/browse/HIVE-18293
> Project: Hive
>  Issue Type: Bug
>  Components: Transactions
>Affects Versions: 2.1.1
> Environment: Centos6.5/Hadoop2.7.4/Java7
>Reporter: Johannes Alberti
>Assignee: Johannes Alberti
>Priority: Critical
>
> ACID tables are not getting compacted properly due to an 
> AccessControlException, this only occurs for tables contained in the 
> non-default database.
> The root cause for the issue is the re-use of an already created 
> DistributedFileSystem instance within a new DoAs context. I will attach a 
> patch for the same.
> Stack below (anonymized)
> {noformat}
> compactor.Worker: Caught an exception in the main loop of compactor worker 
> [[hostname]]-34, org.apache.hadoop.security.AccessControlException: 
> Permission denied: user=hive, access=EXECUTE, 
> inode="/hive/non-default.db":nothive:othergroup:drwxrwx---
> at 
> org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkTraverse(FSPermissionChecker.java:275)
> at 
> org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:215)
> at 
> org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:199)
> at 
> org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkPermission(FSDirectory.java:1752)
> at 
> org.apache.hadoop.hdfs.server.namenode.FSDirStatAndListingOp.getFileInfo(FSDirStatAndListingOp.java:100)
> at 
> org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getFileInfo(FSNamesystem.java:3820)
> at 
> org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.getFileInfo(NameNodeRpcServer.java:1012)
> at 
> org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.getFileInfo(ClientNamenodeProtocolServerSideTranslatorPB.java:855)
> at 
> org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java)
> at 
> org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:616)
> at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:982)
> at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2217)
> at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2213)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAs(Subject.java:415)
> at 
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1767)
> at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2211)
> at sun.reflect.GeneratedConstructorAccessor83.newInstance(Unknown 
> Source)
> at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
> at 
> org.apache.hadoop.ipc.RemoteException.instantiateException(RemoteException.java:106)
> at 
> org.apache.hadoop.ipc.RemoteException.unwrapRemoteException(RemoteException.java:73)
> at org.apache.hadoop.hdfs.DFSClient.getFileInfo(DFSClient.java:2110)
> at 
> org.apache.hadoop.hdfs.DistributedFileSystem$22.doCall(DistributedFileSystem.java:1305)
> at 
> org.apache.hadoop.hdfs.DistributedFileSystem$22.doCall(DistributedFileSystem.java:1301)
> at 
> org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81)
> at 
> org.apache.hadoop.hdfs.DistributedFileSystem.getFileStatus(DistributedFileSystem.java:1301)
> at 
> org.apache.hadoop.hive.ql.txn.compactor.CompactorThread$1.run(CompactorThread.java:172)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAs(Subject.java:415)
> at 
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1767)
> at 
> org.apache.hadoop.hive.ql.txn.compactor.CompactorThread.findUserToRunAs(CompactorThread.java:169)
> at org.apache.hadoop.hive.ql.txn.compactor.Worker.run(Worker.java:151)
> Caused by: 
> org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.AccessControlException):
>  Permission denied: user=hive, access=EXECUTE, 
> inode="/hive/non-default.db":nothive:othergroup:drwxrwx---
>   

[jira] [Commented] (HIVE-18293) Hive is failing to compact tables contained within a folder that is not owned by identity running HiveMetaStore

2017-12-19 Thread Johannes Alberti (JIRA)

[ 
https://issues.apache.org/jira/browse/HIVE-18293?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16296924#comment-16296924
 ] 

Johannes Alberti commented on HIVE-18293:
-

See https://github.com/apache/hive/pull/277 for a patch, the CI build failed, 
looks like there is a general instability, nothing related to the PR by itself. 
I also looked at the existing tests, to determine if I could add one for this 
scenario, but could not figure out how to best incorporate a test for this 
scenario. I tested the patch locally, but only in the context of 2.1.1, the 
compaction code seems to be unchanged since then, so same issue should still 
occur in master and therefore be fixed with this patch. Need a reviewer and 
somebody to merge this, please!

> Hive is failing to compact tables contained within a folder that is not owned 
> by identity running HiveMetaStore
> ---
>
> Key: HIVE-18293
> URL: https://issues.apache.org/jira/browse/HIVE-18293
> Project: Hive
>  Issue Type: Bug
>  Components: Transactions
>Affects Versions: 2.1.1
> Environment: Centos6.5/Hadoop2.7.4/Java7
>Reporter: Johannes Alberti
>Assignee: Johannes Alberti
>Priority: Critical
>
> ACID tables are not getting compacted properly due to an 
> AccessControlException, this only occurs for tables contained in the 
> non-default database.
> The root cause for the issue is the re-use of an already created 
> DistributedFileSystem instance within a new DoAs context. I will attach a 
> patch for the same.
> Stack below (anonymized)
> {noformat}
> compactor.Worker: Caught an exception in the main loop of compactor worker 
> [[hostname]]-34, org.apache.hadoop.security.AccessControlException: 
> Permission denied: user=hive, access=EXECUTE, 
> inode="/hive/non-default.db":nothive:othergroup:drwxrwx---
> at 
> org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkTraverse(FSPermissionChecker.java:275)
> at 
> org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:215)
> at 
> org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:199)
> at 
> org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkPermission(FSDirectory.java:1752)
> at 
> org.apache.hadoop.hdfs.server.namenode.FSDirStatAndListingOp.getFileInfo(FSDirStatAndListingOp.java:100)
> at 
> org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getFileInfo(FSNamesystem.java:3820)
> at 
> org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.getFileInfo(NameNodeRpcServer.java:1012)
> at 
> org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.getFileInfo(ClientNamenodeProtocolServerSideTranslatorPB.java:855)
> at 
> org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java)
> at 
> org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:616)
> at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:982)
> at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2217)
> at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2213)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAs(Subject.java:415)
> at 
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1767)
> at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2211)
> at sun.reflect.GeneratedConstructorAccessor83.newInstance(Unknown 
> Source)
> at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
> at 
> org.apache.hadoop.ipc.RemoteException.instantiateException(RemoteException.java:106)
> at 
> org.apache.hadoop.ipc.RemoteException.unwrapRemoteException(RemoteException.java:73)
> at org.apache.hadoop.hdfs.DFSClient.getFileInfo(DFSClient.java:2110)
> at 
> org.apache.hadoop.hdfs.DistributedFileSystem$22.doCall(DistributedFileSystem.java:1305)
> at 
> org.apache.hadoop.hdfs.DistributedFileSystem$22.doCall(DistributedFileSystem.java:1301)
> at 
> org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81)
> at 
> org.apache.hadoop.hdfs.DistributedFileSystem.getFileStatus(DistributedFileSystem.java:1301)
> at 
> org.apache.hadoop.hive.ql.txn.compactor.CompactorThread$1.run(CompactorThread.java:172)
> at java.security.AccessController.doPrivileged(Native Method)
>

[jira] [Work started] (HIVE-18293) Hive is failing to compact tables contained within a folder that is not owned by identity running HiveMetaStore

2017-12-19 Thread Johannes Alberti (JIRA)

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

Work on HIVE-18293 started by Johannes Alberti.
---
> Hive is failing to compact tables contained within a folder that is not owned 
> by identity running HiveMetaStore
> ---
>
> Key: HIVE-18293
> URL: https://issues.apache.org/jira/browse/HIVE-18293
> Project: Hive
>  Issue Type: Bug
>  Components: Transactions
>Affects Versions: 2.1.1
> Environment: Centos6.5/Hadoop2.7.4/Java7
>Reporter: Johannes Alberti
>Assignee: Johannes Alberti
>Priority: Critical
>
> ACID tables are not getting compacted properly due to an 
> AccessControlException, this only occurs for tables contained in the 
> non-default database.
> The root cause for the issue is the re-use of an already created 
> DistributedFileSystem instance within a new DoAs context. I will attach a 
> patch for the same.
> Stack below (anonymized)
> {noformat}
> compactor.Worker: Caught an exception in the main loop of compactor worker 
> [[hostname]]-34, org.apache.hadoop.security.AccessControlException: 
> Permission denied: user=hive, access=EXECUTE, 
> inode="/hive/non-default.db":nothive:othergroup:drwxrwx---
> at 
> org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkTraverse(FSPermissionChecker.java:275)
> at 
> org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:215)
> at 
> org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:199)
> at 
> org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkPermission(FSDirectory.java:1752)
> at 
> org.apache.hadoop.hdfs.server.namenode.FSDirStatAndListingOp.getFileInfo(FSDirStatAndListingOp.java:100)
> at 
> org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getFileInfo(FSNamesystem.java:3820)
> at 
> org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.getFileInfo(NameNodeRpcServer.java:1012)
> at 
> org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.getFileInfo(ClientNamenodeProtocolServerSideTranslatorPB.java:855)
> at 
> org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java)
> at 
> org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:616)
> at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:982)
> at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2217)
> at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2213)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAs(Subject.java:415)
> at 
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1767)
> at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2211)
> at sun.reflect.GeneratedConstructorAccessor83.newInstance(Unknown 
> Source)
> at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
> at 
> org.apache.hadoop.ipc.RemoteException.instantiateException(RemoteException.java:106)
> at 
> org.apache.hadoop.ipc.RemoteException.unwrapRemoteException(RemoteException.java:73)
> at org.apache.hadoop.hdfs.DFSClient.getFileInfo(DFSClient.java:2110)
> at 
> org.apache.hadoop.hdfs.DistributedFileSystem$22.doCall(DistributedFileSystem.java:1305)
> at 
> org.apache.hadoop.hdfs.DistributedFileSystem$22.doCall(DistributedFileSystem.java:1301)
> at 
> org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81)
> at 
> org.apache.hadoop.hdfs.DistributedFileSystem.getFileStatus(DistributedFileSystem.java:1301)
> at 
> org.apache.hadoop.hive.ql.txn.compactor.CompactorThread$1.run(CompactorThread.java:172)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAs(Subject.java:415)
> at 
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1767)
> at 
> org.apache.hadoop.hive.ql.txn.compactor.CompactorThread.findUserToRunAs(CompactorThread.java:169)
> at org.apache.hadoop.hive.ql.txn.compactor.Worker.run(Worker.java:151)
> Caused by: 
> org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.AccessControlException):
>  Permission denied: user=hive, access=EXECUTE, 
> inode="/hive/non-default.db":nothive:othergroup:drwxrwx---
> at 
> 

[jira] [Assigned] (HIVE-18293) Hive is failing to compact tables contained within a folder that is not owned by identity running HiveMetaStore

2017-12-18 Thread Johannes Alberti (JIRA)

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

Johannes Alberti reassigned HIVE-18293:
---


> Hive is failing to compact tables contained within a folder that is not owned 
> by identity running HiveMetaStore
> ---
>
> Key: HIVE-18293
> URL: https://issues.apache.org/jira/browse/HIVE-18293
> Project: Hive
>  Issue Type: Bug
>  Components: Transactions
>Affects Versions: 2.1.1
> Environment: Centos6.5/Hadoop2.7.4/Java7
>Reporter: Johannes Alberti
>Assignee: Johannes Alberti
>Priority: Critical
>
> ACID tables are not getting compacted properly due to an 
> AccessControlException, this only occurs for tables contained in the 
> non-default database.
> The root cause for the issue is the re-use of an already created 
> DistributedFileSystem instance within a new DoAs context. I will attach a 
> patch for the same.
> Stack below (anonymized)
> {noformat}
> compactor.Worker: Caught an exception in the main loop of compactor worker 
> [[hostname]]-34, org.apache.hadoop.security.AccessControlException: 
> Permission denied: user=hive, access=EXECUTE, 
> inode="/hive/non-default.db":nothive:othergroup:drwxrwx---
> at 
> org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkTraverse(FSPermissionChecker.java:275)
> at 
> org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:215)
> at 
> org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:199)
> at 
> org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkPermission(FSDirectory.java:1752)
> at 
> org.apache.hadoop.hdfs.server.namenode.FSDirStatAndListingOp.getFileInfo(FSDirStatAndListingOp.java:100)
> at 
> org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getFileInfo(FSNamesystem.java:3820)
> at 
> org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.getFileInfo(NameNodeRpcServer.java:1012)
> at 
> org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.getFileInfo(ClientNamenodeProtocolServerSideTranslatorPB.java:855)
> at 
> org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java)
> at 
> org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:616)
> at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:982)
> at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2217)
> at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2213)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAs(Subject.java:415)
> at 
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1767)
> at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2211)
> at sun.reflect.GeneratedConstructorAccessor83.newInstance(Unknown 
> Source)
> at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
> at 
> org.apache.hadoop.ipc.RemoteException.instantiateException(RemoteException.java:106)
> at 
> org.apache.hadoop.ipc.RemoteException.unwrapRemoteException(RemoteException.java:73)
> at org.apache.hadoop.hdfs.DFSClient.getFileInfo(DFSClient.java:2110)
> at 
> org.apache.hadoop.hdfs.DistributedFileSystem$22.doCall(DistributedFileSystem.java:1305)
> at 
> org.apache.hadoop.hdfs.DistributedFileSystem$22.doCall(DistributedFileSystem.java:1301)
> at 
> org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81)
> at 
> org.apache.hadoop.hdfs.DistributedFileSystem.getFileStatus(DistributedFileSystem.java:1301)
> at 
> org.apache.hadoop.hive.ql.txn.compactor.CompactorThread$1.run(CompactorThread.java:172)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAs(Subject.java:415)
> at 
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1767)
> at 
> org.apache.hadoop.hive.ql.txn.compactor.CompactorThread.findUserToRunAs(CompactorThread.java:169)
> at org.apache.hadoop.hive.ql.txn.compactor.Worker.run(Worker.java:151)
> Caused by: 
> org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.AccessControlException):
>  Permission denied: user=hive, access=EXECUTE, 
> inode="/hive/non-default.db":nothive:othergroup:drwxrwx---
> at 
>