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

Colin Patrick McCabe commented on HDFS-3592:
--------------------------------------------

Thinking about this a little more, we should probably just change the 
{{hdfsCreateDirectory}} method to use {{ClientProtocol::mkdir2}}.  We'd get 
back much better error handling information, and I don't see any real 
downsides.  The return code vs. exception API issue doesn't exist in libhdfs 
since we just use descriptive return codes for everything.

> libhdfs should expose ClientProtocol::mkdirs2
> ---------------------------------------------
>
>                 Key: HDFS-3592
>                 URL: https://issues.apache.org/jira/browse/HDFS-3592
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>    Affects Versions: 2.0.0-alpha, 3.0.0
>            Reporter: Colin Patrick McCabe
>            Assignee: Colin Patrick McCabe
>            Priority: Minor
>             Fix For: 3.0.0, 2.6.0
>
>
> It would be nice if libhdfs exposed mkdirs2.  This version of mkdirs is much 
> more verbose about any errors that occur-- it throws AccessControlException, 
> FileAlreadyExists, FileNotFoundException, ParentNotDirectoryException, etc.
> The original mkdirs just throws IOException if anything goes wrong.
> For something like fuse_dfs, it is very important to return the correct errno 
> code when an error has occurred.  mkdirs2 would allow us to do that.
> I'm not sure if we should just change hdfsMkdirs to use mkdirs2, or add an 
> hdfsMkdirs2.  Probably the latter, but the former course would maintain "bug 
> compatibility" with ancient releases-- if that is important.



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

Reply via email to