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