[
https://issues.apache.org/jira/browse/HDFS-6262?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13976656#comment-13976656
]
Akira AJISAKA commented on HDFS-6262:
-------------------------------------
bq. I suggest rename(src, dst) to call FSDirectory.renameTo(src, dst,
Rename.NONE).
I tried, but got a lot of errors.
{code}
Tests in error:
TestHDFSFileSystemContract>FileSystemContractBaseTest.testRenameFileMoveToNonExistentDirectory:358->FileSystemContractBaseTest.rename:489
» FileNotFound
TestHDFSFileSystemContract>FileSystemContractBaseTest.testRenameFileAsExistingFile:378->FileSystemContractBaseTest.rename:489
» FileAlreadyExists
TestHDFSFileSystemContract>FileSystemContractBaseTest.testRenameFileAsExistingDirectory:388->FileSystemContractBaseTest.rename:489
» Remote
TestHDFSFileSystemContract>FileSystemContractBaseTest.testRenameDirectoryMoveToNonExistentDirectory:399->FileSystemContractBaseTest.rename:489
» FileNotFound
TestHDFSFileSystemContract>FileSystemContractBaseTest.testRenameDirectoryAsExistingFile:431->FileSystemContractBaseTest.rename:489
» Remote
TestHDFSFileSystemContract>FileSystemContractBaseTest.testRenameDirectoryAsExistingDirectory:444->FileSystemContractBaseTest.rename:489
» FileAlreadyExists
TestHDFSFileSystemContract>FileSystemContractBaseTest.testRenameRootDirForbidden:598->FileSystemContractBaseTest.rename:489
» Remote
TestHDFSFileSystemContract>FileSystemContractBaseTest.testRenameChildDirForbidden:617->FileSystemContractBaseTest.rename:489
» Remote
TestHDFSFileSystemContract>FileSystemContractBaseTest.testRenameDirToSelf:649->FileSystemContractBaseTest.rename:489
» FileAlreadyExists
TestHDFSFileSystemContract>FileSystemContractBaseTest.testMoveDirUnderParent:667
» FileAlreadyExists
TestHDFSFileSystemContract>FileSystemContractBaseTest.testRenameFileToSelf:681->FileSystemContractBaseTest.rename:489
» FileAlreadyExists
TestHDFSFileSystemContract>FileSystemContractBaseTest.testMoveFileUnderParent:695->FileSystemContractBaseTest.rename:489
» FileAlreadyExists
{code}
The suggestion will change some other behaviors. I think it's better to make
the behavior changes smaller for this JIRA, and now I suggest the v2 patch.
[[email protected]] and [~szetszwo], what do you think?
> HDFS doesn't raise FileNotFoundException if the source of a rename() is
> missing
> -------------------------------------------------------------------------------
>
> Key: HDFS-6262
> URL: https://issues.apache.org/jira/browse/HDFS-6262
> Project: Hadoop HDFS
> Issue Type: Bug
> Components: namenode
> Affects Versions: 2.4.0
> Reporter: Steve Loughran
> Assignee: Akira AJISAKA
> Attachments: HDFS-6262.2.patch, HDFS-6262.patch
>
>
> HDFS's {{rename(src, dest)}} returns false if src does not exist -all the
> other filesystems raise {{FileNotFoundException}}
> This behaviour is defined in {{FSDirectory.unprotectedRenameTo()}} -the
> attempt is logged, but the operation then just returns false.
> I propose changing the behaviour of {{DistributedFileSystem}} to be the same
> as that of the others -and of {{FileContext}}, which does reject renames with
> nonexistent sources
--
This message was sent by Atlassian JIRA
(v6.2#6252)