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

Ctest edited comment on HADOOP-16971 at 4/18/20, 5:10 AM:
----------------------------------------------------------

[~ayushtkn] Sorry for the confusion.

To reproduce: Run the test 
org.apache.hadoop.fs.TestFileContextResolveAfs#testFileContextResolveAfs. 

The error basically is: the test creates a file and a symlink to the file, but 
it accidentally made the symlink into a dangling link. And current FileSystem 
in Hadoop is unable to delete dangling links. So, the test will fail in the 
second run trying to create the same symlink to link the file because the 
symlink it intends to create has already existed (created in the first run).


was (Author: ctest.team):
[~ayushtkn] Sorry for the confusion.

To reproduce: Run the test 
org.apache.hadoop.fs.TestFileContextResolveAfs#testFileContextResolveAfs. 

The error basically is: the test creates a file and a symlink to the file, but 
it accidentally made the symlink into a dangling link. And current FileSystem 
in Hadoop is unable to delete dangling links. So, the test will fail in the 
second run trying to link the file because the symlink it intends to create has 
already existed (created in the first run).

> testFileContextResolveAfs creates dangling link and fails for subsequent runs
> -----------------------------------------------------------------------------
>
>                 Key: HADOOP-16971
>                 URL: https://issues.apache.org/jira/browse/HADOOP-16971
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: common, fs, test
>    Affects Versions: 3.2.1, 3.4.0
>            Reporter: Ctest
>            Priority: Minor
>              Labels: easyfix, fs, symlink, test
>         Attachments: HADOOP-16971.000.patch
>
>
> In the test testFileContextResolveAfs, the symlink TestFileContextResolveAfs2 
> (linked to TestFileContextResolveAfs1) cannot be deleted when the test 
> finishes.
> This is because TestFileContextResolveAfs1 was always deleted before 
> TestFileContextResolveAfs2 when they were both passed into 
> FileSystem#deleteOnExit. This caused TestFileContextResolveAfs2 to become a 
> dangling link, which FileSystem in Hadoop currently cannot delete. (This is 
> because Files#exists will return false for dangling links.)
> As a result, the test `testFileContextResolveAfs` only passed for the first 
> run. And for later runs of this test, it will fail by throwing the following 
> exception: 
> {code:java}
> fs.FileUtil (FileUtil.java:symLink(821)) - Command 'ln -s 
> mypath/TestFileContextResolveAfs1 mypath/TestFileContextResolveAfs2' failed 1 
> with: ln: mypath/TestFileContextResolveAfs2: File exists
> java.io.IOException: Error 1 creating symlink 
> file:mypath/TestFileContextResolveAfs2 to mypath/TestFileContextResolveAfs1
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org

Reply via email to