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

Owen O'Malley commented on HADOOP-4044:
---------------------------------------

Getting back to the nuts and bolts of this patch, I don't really like the 
structure of this implementation. I think the LinkResolvers and the myriad 
anonymous classes that extend it are very hard to read. I'd much rather have 
something like:

{code}
abstract class LinkResult<T> {
  boolean isLink();
  T getResult();
  FileSystem getFileSystem() throws IOException;
  /** Throws an exception if too deep. */
  Path getNewPath() throws IOException;
}

class DistributedFileSystem extends FileSystem {
  ...
  public FSDataInputStream open(Path p, int buffer) throws IOException {
     LinkResult<FSDataInputStream> result = dfs.open(p, buffer, verifyChecksum, 
statistics);
     if (result.isLink()) {
       return result.getFileSystem().open(result.getPath(), buffer);
     } else {
       return result.getResult();
     }
  }
}
{code}

It is *much* easier to follow and understand and forces no changes on 
FileSystems that don't support links.


> 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, symLink1.patch, symLink4.patch, 
> symLink5.patch, symLink6.patch, symLink8.patch, symLink9.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.

Reply via email to