hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chris Nauroth (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-6326) WebHdfs ACL compatibility is broken
Date Mon, 12 May 2014 19:17:16 GMT

    [ https://issues.apache.org/jira/browse/HDFS-6326?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13995493#comment-13995493

Chris Nauroth commented on HDFS-6326:

Here is a recap of some offline discussion between me and Haohui.  Summary: we are reaching
consensus around inclusion of an ACL bit, with the approach of hiding the bit from other callers
as done in my v3 patch.  There will be some additional changes, which I'll fold into a new
version of the patch to upload later.  This also will incorporate Daryn's feedback.

bq. I have no problem to declare this is a wrong assumption but the sad fact is that 3rd-party
clients might depend on it.

We agreed on taking a conservative approach of using an ACL bit, but making it invisible to
current callers of {{FsPermission#toShort}}.  The technique is already demonstrated in my
v3 patch.

bq. Provided that the FileStatus field is relatively short (~200 bytes), adding a field for
ACL increases the network traffic for listing files by 5%.

This is not a problem for the HDFS {{ClientProtocol}} RPC.  That protocol already encodes
{{FsPermission}} as a protobuf uint32, and my patch isn't going to change that.  It's just
going to toggle on a bit of the uint32 that was unused previously.

This is a problem for WebHDFS, which will start returning an additional {{"aclBit": true}}
in JSON responses.  To mitigate this, the {{aclBit}} field will be excluded from the JSON
response when there is no ACL.  IOW, you'll never see {{"aclBit": false}}.  This means that
if ACLs are not in use, then there is no additional cost.  Patch v3 already implements it
this way.

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

View raw message