You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Zac Zhou (JIRA)" <ji...@apache.org> on 2017/12/11 03:29:00 UTC

[jira] [Created] (HIVE-18261) Load data failed as moving acls from source data to the target dir

Zac Zhou created HIVE-18261:
-------------------------------

             Summary: Load data failed as moving acls from source data to the target dir
                 Key: HIVE-18261
                 URL: https://issues.apache.org/jira/browse/HIVE-18261
             Project: Hive
          Issue Type: Bug
            Reporter: Zac Zhou
            Assignee: Zac Zhou


Running load data command, I got the following error:

[ERROR]2017-12-07 15:14:38,986, [Class]1512630876274, executeHqlSync method failed
java.sql.SQLException: Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.MoveTask. org.apache.hadoop.security.AccessControlException: Permission denied. user=*** is not the owner of inode=data
at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkOwner(FSPermissionChecker.java:250)
at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:227)
at org.apache.ranger.authorization.hadoop.RangerHdfsAuthorizer$RangerAccessControlEnforcer.checkPermission(RangerHdfsAuthorizer.java:306)
at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:190)
at org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkPermission(FSDirectory.java:1722)
at org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkPermission(FSDirectory.java:1706)
at org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkOwner(FSDirectory.java:1675)
at org.apache.hadoop.hdfs.server.namenode.FSDirAclOp.setAcl(FSDirAclOp.java:145)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.setAcl(FSNamesystem.java:7951)
at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.setAcl(NameNodeRpcServer.java:1835)
at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.setAcl(ClientNamenodeProtocolServerSideTranslatorPB.java:1330)
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:2049)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2045)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Unknown Source)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1698)
at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2043)
at org.apache.hive.jdbc.HiveStatement.waitForOperationToComplete(HiveStatement.java:349)
at org.apache.hive.jdbc.HiveStatement.execute(HiveStatement.java:251)
at com.netease.bdms.executor.executor.HQLResultManager.fetchResultsByJdbc(HQLResultManager.java:231)
at com.netease.bdms.executor.executor.HQLResultManager.saveFirstResultSet(HQLResultManager.java:341)
at com.netease.bdms.executor.executor.HQLJdbcJobRunnable.executeHqlSync(HQLJdbcJobRunnable.java:265)
at com.netease.bdms.executor.executor.HQLJdbcJobRunnable.runInternal(HQLJdbcJobRunnable.java:170)
at com.netease.bdms.executor.executor.HQLJdbcJobRunnable.run(HQLJdbcJobRunnable.java:67)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:473)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:622)
at java.lang.Thread.run(Thread.java:748)

The job was failed, but the data had been moved into the target dir.

The root cause is Namenode check the path owner when seting acl. it will failed if the user is not the owner.

I think the job should not fail if failing to set acl, just like [HIVE-13716|https://issues.apache.org/jira/browse/HIVE-13716] 





--
This message was sent by Atlassian JIRA
(v6.4.14#64029)