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

Suresh Srinivas commented on HADOOP-9984:
-----------------------------------------

[~cmccabe], some comments:
bq. Making listLinkStatus an abstract function is actually better for these 
out-of-tree implementors anyway.
Adding abstract function is one way. The other way is by adding default 
implementation that throw unsupported exception. The second approach has been 
taken for most of the functionality added later into the file system including 
createSymlink. Symbolic links is a capability not all the file systems may 
support. We should follow the same approach for this functionality as well.

bq. I can say firsthand that no matter what option we choose, the ceph hadoop 
plugin will need to be updated (I worked on that at one point).
Only if you want to add symlink functionality, right?

There are two kinds of incompatibilities we are talking about:
# FileSystem API as used by the applications. I agree with you that not 
breaking compatibility here that requires application code change is the 
highest priority.
# FileSystem implementations. While breaking compatibility here may be fine, I 
believe we can avoid it.

bq. Should we have a webex tomorrow to resolve this? This issue is a blocker 
and it would be nice to resolve it soon
I agree that this needs to be quickly resolved. Lets have a webex. I also want 
to understand why HADOOP-9972 has to be incompatible.


> FileSystem#globStatus and FileSystem#listStatus should resolve symlinks by 
> default
> ----------------------------------------------------------------------------------
>
>                 Key: HADOOP-9984
>                 URL: https://issues.apache.org/jira/browse/HADOOP-9984
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: fs
>    Affects Versions: 2.1.0-beta
>            Reporter: Colin Patrick McCabe
>            Assignee: Colin Patrick McCabe
>            Priority: Blocker
>         Attachments: HADOOP-9984.001.patch, HADOOP-9984.003.patch, 
> HADOOP-9984.005.patch, HADOOP-9984.007.patch, HADOOP-9984.009.patch, 
> HADOOP-9984.010.patch, HADOOP-9984.011.patch, HADOOP-9984.012.patch, 
> HADOOP-9984.013.patch, HADOOP-9984.014.patch
>
>
> During the process of adding symlink support to FileSystem, we realized that 
> many existing HDFS clients would be broken by listStatus and globStatus 
> returning symlinks.  One example is applications that assume that 
> !FileStatus#isFile implies that the inode is a directory.  As we discussed in 
> HADOOP-9972 and HADOOP-9912, we should default these APIs to returning 
> resolved paths.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to