hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eli Collins (JIRA)" <j...@apache.org>
Subject [jira] Updated: (HADOOP-6563) Add more tests to FileContextSymlinkBaseTest that cover intermediate symlinks in paths
Date Thu, 08 Apr 2010 02:21:36 GMT

     [ 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.


Mime
View raw message