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

Colin Patrick McCabe commented on HADOOP-9877:
----------------------------------------------

Thanks for finding this.

{code}
+          } else {
+            FileStatus s = getFileStatus(new Path(candidate.getPath(), 
component));
+            if (s != null) {
+              newCandidates.add(s);
{code}

This is incorrect.  If you try to list a symlink this way, it will list the 
target file instead.
You need to build up the path the same way the other code path does, except 
using {{getFileLinkStatus}} (not {{getFileStatus}}).

I agree with Andrew's suggestion about comments and Suresh's suggestion about 
tests.  Rather than creating snapshots in the unit test, you could list things 
in the /.reserved directory, since that always exists (and will not be returned 
by listStatus).
                
> hadoop fsshell can not ls .snapshot dir after HADOOP-9817
> ---------------------------------------------------------
>
>                 Key: HADOOP-9877
>                 URL: https://issues.apache.org/jira/browse/HADOOP-9877
>             Project: Hadoop Common
>          Issue Type: Bug
>    Affects Versions: 2.1.0-beta
>            Reporter: Binglin Chang
>            Assignee: Binglin Chang
>         Attachments: HADOOP-9877.v1.patch
>
>
> {code}
> decster:~/hadoop> bin/hadoop fs -ls "/foo/.snapshot"
> 13/08/16 01:17:22 INFO hdfs.DFSClient: +++++ listPath(/)
> 13/08/16 01:17:22 INFO hdfs.DFSClient: +++++ listPath(/foo)
> ls: `/foo/.snapshot': No such file or directory
> {code}
> HADOOP-9817 refactor some globStatus code, but forgot to handle special case 
> that .snapshot dir is not show up in listStatus but exists, so we need to 
> explicitly check path existence using getFileStatus, rather than depending on 
> listStatus results.

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