[ https://issues.apache.org/jira/browse/HIVE-9182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14490555#comment-14490555 ]
Chris Nauroth commented on HIVE-9182: ------------------------------------- Is {{setFullFileStatus}} always called in situations where source and destination are on the same file system? That looks to be true for the call sites I found in the {{DDLTask}}, {{MoveTask}}, and {{Hive}} classes. If so, then the presence of ACLs in the source file implies that ACLs will be supported when you make the setfacl call on the destination path. (ACLs are enabled or disabled for the whole HDFS namespace.) That would mean it's feasible to rely on checking {{sourceStatus.getPermission().getAclBit()}} and remove all calls to {{isExtendedAclEnabled}}, which relies on inspecting the configuration. Even if you want to continue relying on the configuration, you can still check the ACL bit on the source before trying the {{getAclStatus}} call, which is an RPC. If you decide to go ahead and remove this dependency on {{dfs.namenode.acls.enabled}} in the configuration, then there are also some log messages which mention the configuration property that could be updated. Thanks for the patch, Abdelrahman! > avoid FileSystem.getAclStatus rpc call for filesystems that don't support acl > ----------------------------------------------------------------------------- > > Key: HIVE-9182 > URL: https://issues.apache.org/jira/browse/HIVE-9182 > Project: Hive > Issue Type: Bug > Affects Versions: 0.14.0 > Reporter: Thejas M Nair > Assignee: Abdelrahman Shettia > Fix For: 1.2.0 > > Attachments: HIVE-9182.2.patch, HIVE-9182.3.patch > > > File systems such as s3, wasp (azure) don't implement Hadoop FileSystem acl > functionality. > Hadoop23Shims has code that calls getAclStatus on file systems. > Instead of calling getAclStatus and catching the exception, we can also check > FsPermission#getAclBit . > Additionally, instead of catching all exceptions for calls to getAclStatus > and ignoring them, it is better to just catch UnsupportedOperationException. -- This message was sent by Atlassian JIRA (v6.3.4#6332)