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] [Assigned] (HDFS-10832) HttpFS does not use the ephemeral ACL bit introduced in HDFS-6326
Date Fri, 02 Sep 2016 00:54:21 GMT

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

Andrew Wang reassigned HDFS-10832:
----------------------------------

    Assignee: Andrew Wang

> HttpFS does not use the ephemeral ACL bit introduced in HDFS-6326
> -----------------------------------------------------------------
>
>                 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
>
> 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