hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Wang (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HDFS-10832) Propagate ACL bit and isEncrypted bit in HttpFS FileStatus permissions
Date Fri, 09 Sep 2016 19:18:20 GMT

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

Andrew Wang updated HDFS-10832:
-------------------------------
       Resolution: Fixed
    Fix Version/s: 3.0.0-alpha2
                   2.9.0
           Status: Resolved  (was: Patch Available)

Pushed to trunk and branch-2, fixed one additional checkstyle at commit time but the others
aren't fixable without reformatting existing code.

Thanks to Xiao for reviews!

> 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-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-help@hadoop.apache.org


Mime
View raw message