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

Chris Nauroth commented on HDFS-6326:
-------------------------------------

If we want to change the WebHDFS error responses, let's discuss that outside 
the scope of this issue.  Changing the error responses will open up a set of 
other compatibility concerns if existing clients are dependent on the current 
error responses.

bq. However, to be backward compatible with old server, it looks to me that 
catching the exception is the only viable approach.

Yes, specifically the problem with the patch I posted is that even though it 
would fix the combination of a 2.3.0 client and a 2.4.1 server, it wouldn't 
work for the combination of a 2.4.1 client and a 2.4.0 server.  The 2.4.0 
server wouldn't set the ACL bit, so the 2.4.1 client would never display the 
'+' in the ls output.

In hindsight, I really wish we had kept the ACL bit in some form, but it's too 
late now.  I'll put together a different patch for catching the exception.

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