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

Chris Nauroth updated HDFS-6326:
--------------------------------

    Attachment: HDFS-6326.5.patch

Daryn, that looks like a good suggestion to me.  Here is patch v5 incorporating 
those ideas.  Mostly, this is just folding your code right into the v4 patch 
with some additional comments.  Note however that I kept the 
{{FsAclPermission}} class as {{Private}} inside the HDFS package, not Common.  
I'd prefer not to publish this into the public API footprint.

I was hesitant to add a boolean member to track true/false for ACL presence 
because of the risk of increasing memory footprint.  However, I confirmed with 
jmap -histo that it makes no difference after your suggested change:

{code}
375:             1             32  org.apache.hadoop.fs.permission.FsPermission
382:             1             32  
org.apache.hadoop.hdfs.protocol.FsAclPermission
{code}

Memory utilization of {{FsPermission}} and {{FsAclPermission}} are very much 
dominated by Java object overhead/padding, so adding the extra boolean didn't 
make a difference.  Haohui and I have had some offline discussion about 
optimizations here, but that's not directly relevant to this issue.

[~daryn], can you please let me know if you're still +1 for v5?  Thanks!

> WebHdfs ACL compatibility is broken
> -----------------------------------
>
>                 Key: HDFS-6326
>                 URL: https://issues.apache.org/jira/browse/HDFS-6326
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: webhdfs
>    Affects Versions: 3.0.0, 2.4.0
>            Reporter: Daryn Sharp
>            Assignee: Chris Nauroth
>            Priority: Blocker
>         Attachments: HDFS-6326.1.patch, HDFS-6326.2.patch, HDFS-6326.3.patch, 
> HDFS-6326.4.patch, HDFS-6326.5.patch, aclfsperm.example
>
>
> 2.4 ACL support is completely incompatible with <2.4 webhdfs servers.  The NN 
> throws an {{IllegalArgumentException}} exception.
> {code}
> hadoop fs -ls webhdfs://nn/
> Found 21 items
> ls: Invalid value for webhdfs parameter "op": No enum constant 
> org.apache.hadoop.hdfs.web.resources.GetOpParam.Op.GETACLSTATUS
> [... 20 more times...]
> {code}



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to