[
https://issues.apache.org/jira/browse/HADOOP-4044?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12629246#action_12629246
]
Doug Cutting commented on HADOOP-4044:
--------------------------------------
I think a better API might be:
{code}
public FSDataInputStream open(Path f, int bufferSize) throws IOException {
FileSystem fs = this;
FileStatus stat = fs.getFileStatus(f);
for (stat.isSymLink()) {
f = stat.getSymLink();
fs = f.getFileSystem(getConf());
stat = fs.getStatus(f);
}
return fs.openData(stat, bufferSize);
}
public abstract FSDataInputStream openData(FileStatus stat, int bufferSize)
throws IOException;
{code}
We could, for back-compatibility, have openData() default to calling open() for
one release, but I think most if not all FileSystem implementations are
included in Hadoop, so we're mostly concerned about client back-compatibilty
here, not implementation back-compatibility.
Also, FileStatus#getSymLink() should return a Path, not a String, no?
> Create symbolic links in HDFS
> -----------------------------
>
> Key: HADOOP-4044
> URL: https://issues.apache.org/jira/browse/HADOOP-4044
> Project: Hadoop Core
> Issue Type: New Feature
> Components: dfs
> Reporter: dhruba borthakur
> Assignee: dhruba borthakur
> Attachments: symLink1.patch
>
>
> HDFS should support symbolic links. A symbolic link is a special type of file
> that contains a reference to another file or directory in the form of an
> absolute or relative path and that affects pathname resolution. Programs
> which read or write to files named by a symbolic link will behave as if
> operating directly on the target file. However, archiving utilities can
> handle symbolic links specially and manipulate them directly.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.