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

Steve Loughran commented on HDFS-6264:
--------------------------------------

If we're targeting 2.5.0 here, I wouldn't do it without actually implementing 
this operation for most filesystems, because for a real FS it is going to be 
more atomic than mkdirs+create; blobstores are special - which is why 
HADOOP-9565 proposes a marker saying "abandon all expectations"

Most of the existing implementations of {{FileSystem.create()}} should be able 
to call their internal {{createNonRecursive()}} implementation after doing the 
mkdirs op

> Provide FileSystem#create() variant which throws exception if parent 
> directory doesn't exist
> --------------------------------------------------------------------------------------------
>
>                 Key: HDFS-6264
>                 URL: https://issues.apache.org/jira/browse/HDFS-6264
>             Project: Hadoop HDFS
>          Issue Type: Task
>            Reporter: Ted Yu
>         Attachments: hdfs-6264-v1.txt
>
>
> FileSystem#createNonRecursive() is deprecated.
> However, there is no DistributedFileSystem#create() implementation which 
> throws exception if parent directory doesn't exist.
> This limits clients' migration away from the deprecated method.
> For HBase, TestHLog#testFailedToCreateHLogIfParentRenamed relies on the 
> behavior of FileSystem#createNonRecursive().
> Variant of create() method should be added which throws exception if parent 
> directory doesn't exist.



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

Reply via email to