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

Sanjay Radia commented on HADOOP-8589:
--------------------------------------

I had missed this jira and recently fixed this in another jira (will I will 
close as a duplicate).
This fixes the buig by linking the first component in tests and home dir (same 
as what others have suggested in this jira).
It also fixes the tests when run via eclipse where the test dir is relative to 
wd - ie it sets up wd correctly for viewfs.

I have cleaned up things so that all the set up is done in a single setup 
routing (one for viewFs and one viewFileSystem)

As part of this testing I found another bug for homedir and chrootedfs - also 
fixed this.

I have attached the patch here. 
                
> ViewFs tests fail when tests and home dirs are nested
> -----------------------------------------------------
>
>                 Key: HADOOP-8589
>                 URL: https://issues.apache.org/jira/browse/HADOOP-8589
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: fs, test
>    Affects Versions: 0.23.1, 2.0.0-alpha
>            Reporter: Andrey Klochkov
>            Assignee: Andrey Klochkov
>         Attachments: HADOOP-8589.patch, HADOOP-8589.patch, 
> hadoop-8589-sanjay.patch, HADOOP-8859.patch
>
>
> TestFSMainOperationsLocalFileSystem fails in case when the test root 
> directory is under the user's home directory, and the user's home dir is 
> deeper than 2 levels from /. This happens with the default 1-node 
> installation of Jenkins. 
> This is the failure log:
> {code}
> org.apache.hadoop.fs.FileAlreadyExistsException: Path /var already exists as 
> dir; cannot create link here
>       at org.apache.hadoop.fs.viewfs.InodeTree.createLink(InodeTree.java:244)
>       at org.apache.hadoop.fs.viewfs.InodeTree.<init>(InodeTree.java:334)
>       at 
> org.apache.hadoop.fs.viewfs.ViewFileSystem$1.<init>(ViewFileSystem.java:167)
>       at 
> org.apache.hadoop.fs.viewfs.ViewFileSystem.initialize(ViewFileSystem.java:167)
>       at 
> org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2094)
>       at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:79)
>       at 
> org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2128)
>       at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2110)
>       at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:290)
>       at 
> org.apache.hadoop.fs.viewfs.ViewFileSystemTestSetup.setupForViewFileSystem(ViewFileSystemTestSetup.java:76)
>       at 
> org.apache.hadoop.fs.viewfs.TestFSMainOperationsLocalFileSystem.setUp(TestFSMainOperationsLocalFileSystem.java:40)
> ...
> Standard Output
> 2012-07-11 22:07:20,239 INFO  mortbay.log (Slf4jLog.java:info(67)) - Home dir 
> base /var/lib
> {code}
> The reason for the failure is that the code tries to mount links for both 
> "/var" and "/var/lib", and it fails for the 2nd one as the "/var" is mounted 
> already.
> The fix was provided in HADOOP-8036 but later it was reverted in HADOOP-8129.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to