[
https://issues.apache.org/jira/browse/HADOOP-9984?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13783728#comment-13783728
]
Colin Patrick McCabe commented on HADOOP-9984:
----------------------------------------------
bq. A backwards-incompatible change at some point is unavoidable, because we
are all agreed on adding new abstract methods in the base classes. However,
maybe we don't need to break compatibility for 2.1.2. I think the plan would
look like this:
If a backwards-incompatible change is unavoidable, we should do it before
Hadoop 2 goes GA (general availability). That means doing it now.
Breaking APIs after GA is exactly the wrong thing to do, and I don't see the
benefit. Why is it easier to fix the out-of-tree filesytems later rather than
sooner? Why tolerate all the major negative consequences you admit will
happen? I think the number of developers maintaining out-of-tree FileSystem or
FileContext implementations is very small and the cleanup will be quick-- they
just need to rename the listStatus function. Most of those developers of
out-of-tree filesystems are already providing code drops for specific Hadoop
versions anyway-- this is nothing out of the ordinary for them.
> 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
>
>
> 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)