You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Flavio Pompermaier (JIRA)" <ji...@apache.org> on 2017/03/17 15:34:41 UTC

[jira] [Commented] (FLINK-6103) LocalFileSystem rename() uses File.renameTo()

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

Flavio Pompermaier commented on FLINK-6103:
-------------------------------------------

I've tried {{com.google.common.io.Files.move()}} and it doesn't work either with directories.

Maybe it's better to follow https://docs.oracle.com/javase/tutorial/essential/io/move.html and use {{Files.move(source, target, REPLACE_EXISTING)}} ?

> LocalFileSystem rename() uses File.renameTo()
> ---------------------------------------------
>
>                 Key: FLINK-6103
>                 URL: https://issues.apache.org/jira/browse/FLINK-6103
>             Project: Flink
>          Issue Type: Bug
>            Reporter: Flavio Pompermaier
>              Labels: filesystem
>
> I've tried to move a directory to another on the LocalFilesystem and it doesn't work (in my case fs is an instance of java.io.UnixFileSystem).
> As for Flink-1840 (there was a PR to fix the issue - https://github.com/apache/flink/pull/578) the problem is that {{File.renameTo()}} is not reliable.
> Indeed, the Javadoc says:
> bq. Renames the file denoted by this abstract pathname. 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. Note that the java.nio.file.Files class defines the move method to move or rename a file in a platform independent manner



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)