[ https://issues.apache.org/jira/browse/HDFS-10832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15478049#comment-15478049 ]
Hudson commented on HDFS-10832: ------------------------------- SUCCESS: Integrated in Jenkins build Hadoop-trunk-Commit #10421 (See [https://builds.apache.org/job/Hadoop-trunk-Commit/10421/]) HDFS-10832. Propagate ACL bit and isEncrypted bit in HttpFS FileStatus (wang: rev cba973f036a2c8fcc21a5826b8306247ec154c7b) * (edit) hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/fs/http/server/FSOperations.java * (edit) hadoop-hdfs-project/hadoop-hdfs-httpfs/src/test/java/org/apache/hadoop/test/TestHdfsHelper.java * (edit) hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/fs/http/client/HttpFSFileSystem.java * (edit) hadoop-hdfs-project/hadoop-hdfs-httpfs/src/test/java/org/apache/hadoop/fs/http/client/BaseTestHttpFSWith.java > Propagate ACL bit and isEncrypted bit in HttpFS FileStatus permissions > ---------------------------------------------------------------------- > > Key: HDFS-10832 > URL: https://issues.apache.org/jira/browse/HDFS-10832 > Project: Hadoop HDFS > Issue Type: Bug > Components: httpfs > Affects Versions: 2.6.4 > Reporter: Andrew Wang > Assignee: Andrew Wang > Priority: Critical > Fix For: 2.9.0, 3.0.0-alpha2 > > Attachments: HDFS-10823.001.patch, HDFS-10832.002.patch, > HDFS-10832.003.patch > > > HDFS-6326 introduced an ephemeral ACL bit in FSPermission to avoid doing > extra getAclStatus calls during listStatus. > Parsing this extra bit was not carried over to HttpFS. Currently, it tries to > detect ACLs being disabled by catching exceptions (somewhat brittle). When > ACLs are on, it will do a getAclStatus per FileStatus object. This could have > severe performance implications. > Snippet from FSOperations: > {code} > /* > * For each FileStatus, attempt to acquire an AclStatus. If the > * getAclStatus throws an exception, we assume that ACLs are turned > * off entirely and abandon the attempt. > */ > boolean useAcls = true; // Assume ACLs work until proven otherwise > for (int i = 0; i < fileStatuses.length; i++) { > if (useAcls) { > try { > aclStatus = fs.getAclStatus(fileStatuses[i].getPath()); > } catch (AclException e) { > /* Almost certainly due to an "ACLs not enabled" exception */ > aclStatus = null; > useAcls = false; > } catch (UnsupportedOperationException e) { > /* Ditto above - this is the case for a local file system */ > aclStatus = null; > useAcls = false; > } > } > statusPairs[i] = new StatusPair(fileStatuses[i], aclStatus); > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org