[jira] [Updated] (HDFS-10832) Propagate ACL bit and isEncrypted bit in HttpFS FileStatus permissions

2016-09-19 Thread Andrew Wang (JIRA)

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

Andrew Wang updated HDFS-10832:
---
Fix Version/s: (was: 2.9.0)

> 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.8.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



[jira] [Updated] (HDFS-10832) Propagate ACL bit and isEncrypted bit in HttpFS FileStatus permissions

2016-09-19 Thread Xiao Chen (JIRA)

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

Xiao Chen updated HDFS-10832:
-
Fix Version/s: 2.8.0

> 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.8.0, 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



[jira] [Updated] (HDFS-10832) Propagate ACL bit and isEncrypted bit in HttpFS FileStatus permissions

2016-09-09 Thread Andrew Wang (JIRA)

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



[jira] [Updated] (HDFS-10832) Propagate ACL bit and isEncrypted bit in HttpFS FileStatus permissions

2016-09-09 Thread Andrew Wang (JIRA)

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

Andrew Wang updated HDFS-10832:
---
Summary: Propagate ACL bit and isEncrypted bit in HttpFS FileStatus 
permissions  (was: HttpFS does not use the ephemeral ACL bit introduced in 
HDFS-6326)

> 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
> 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