You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Eli Collins (JIRA)" <ji...@apache.org> on 2010/04/08 04:21:36 UTC
[jira] Updated: (HADOOP-6563) Add more tests to
FileContextSymlinkBaseTest that cover intermediate symlinks in paths
[ https://issues.apache.org/jira/browse/HADOOP-6563?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Eli Collins updated HADOOP-6563:
--------------------------------
Attachment: hadoop-6563-1.patch
Attached patch adds test coverage for intermediate symlinks in paths, and fixes a bug these tests uncovered.
It also adds a lot of rename unit tests so that the full set of behavior with symlinks, and it conforms to the posix behavior (modulo the overwrite option which is not present in {{rename(2)}}). Here's the current FileContext#rename behavior, renaming *source* to *dest* on HDFS, augmented with symlinks:
* If *source* does not exist then a FileNotFoundException is thrown.
* If *dest* does not exist then *source* is renamed *dest*. If *source* is a symlink then the symlink itself is renamed, not the link target.
* If *dest* exists and is a non-empty directory then an IOException is thrown.
* If *dest* exists and the OVERWRITE option is not given then an IOException is thrown.
* If *dest* exists and the OVERWRITE option is given then the behavior depends on the type of *source* and *dest*:
||Source|| Dest|| Result||
|fileA | fileB| Renames *fileA* to *fileB*|
| | dirB| Fails: both need to be file or directory|
| | linkB| *fileA* is renamed *linkB* (regardless of what *linkB* points to)|
|dirA | fileB| Fails: both need to be file or directory|
| | dirB| Renames *dirA* to *dirB* (*dirB* is empty)|
| | linkB| Fails: both need to be file or directory|
|linkA | fileB| Renames *linkA* to *fileB*|
| | dirB| Fails: *dirB* is a directory|
| | linkB| Renames *linkA* to *linkB* (regardless of what *linkB* points to)|
> Add more tests to FileContextSymlinkBaseTest that cover intermediate symlinks in paths
> --------------------------------------------------------------------------------------
>
> Key: HADOOP-6563
> URL: https://issues.apache.org/jira/browse/HADOOP-6563
> Project: Hadoop Common
> Issue Type: Test
> Components: fs, test
> Reporter: Eli Collins
> Assignee: Eli Collins
> Attachments: hadoop-6563-1.patch
>
>
> Intermediate symlinks in paths are covered by the tests that use /linkToDir/file, /linkToDir/subDir, etc eg testCreateVia* in FileContextSymlinkBaseTest. I'll add additional tests to cover other basic operations on paths like /dir/linkToSomeDir/file beyond create() and open().
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.