[ 
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.2.patch

Here is patch v2, changing the exception handling in ls.  I took a very 
defensive approach and just caught {{Exception}}.  This fixes the immediate 
problem and also anticipates any future problems related to custom 
{{FileSystem}} implementations.  Of course, it's not generally a good idea to 
do a blanket catch of {{Exception}}.  In this case though, the worst thing that 
can happen is that we skip displaying the '+', which I think is preferable over 
causing the ls command to fail if there are other unanticipated failures 
related to {{getAclStatus}}.

In addition to running the ACL-related unit tests, I also did some manual 
testing.  I tested ls using URLs with the webhdfs scheme against a 2.3.0 
cluster, and it worked.  I also tested against a trunk cluster and confirmed 
that I was still getting the '+' appended.

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