[
https://issues.apache.org/jira/browse/HDFS-10385?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15278785#comment-15278785
]
Mingliang Liu commented on HDFS-10385:
--------------------------------------
For {{ChecksumFileSystem}}, the rename operation succeeds iff both the file and
checksum files are renamed successfully. However, in
{{RawLocalFileSystem#rename}}, the employed Java rename API does not have a
strongly defined behavior, which is largely platform-dependent. Specifically,
the Javadoc states,
{quote}
* Many aspects of the behavior of this method are inherently
* platform-dependent: The rename operation might not be able to move a
* file from one filesystem to another, it might not be atomic, and it
* might not succeed if a file with the destination abstract pathname
* already exists. The return value should always be checked to make sure
* that the rename operation was successful.
{quote}
It's good to wrap rename() logic here. +1 for the proposal.
> LocalFileSystem rename() function should return false when destination file
> exists
> ----------------------------------------------------------------------------------
>
> Key: HDFS-10385
> URL: https://issues.apache.org/jira/browse/HDFS-10385
> Project: Hadoop HDFS
> Issue Type: Bug
> Components: fs
> Affects Versions: 2.6.0
> Reporter: Aihua Xu
> Assignee: Xiaobing Zhou
>
> Currently rename() of LocalFileSystem returns true and renames successfully
> when the destination file exists. That seems to have different behavior from
> DFSFileSystem.
> If they can have the same behavior, then we can use one call to do rename
> rather than checking if destination exists and then making rename() call.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]