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

Doug Cutting commented on HADOOP-4044:
--------------------------------------

> That imposes restriction on what SymLink can point to.

I don't follow what you mean here.

> we could of course propose another FS.open() that returns something more than 
> an FSInputStream.

Yes, I drafted this and deleted it, since it's rather hairy and not clearly an 
advantage to anything but HDFS.  Here it is:

{code}
public class FileOpening {
  public FileOpening(boolean isLink, Path link) { ... }
  public boolean isLink() { ... }
  public Path getLink() { ... }
}

public FileOpening getFileOpening(Path f) throws IOException {
  FileStatus stat = getFileOpening(f);
  return new FileOpening(stat.isLink(), stat.getLink());
}

public FSDataInputStream open(Path f, int bufferSize) throws IOException {
  FileSystem fs = this;
  FileOpening opening = fs.getFileOpening(f);
  for (opening.isSymLink()) {
    f = opening.getSymLink();
    fs = f.getFileSystem(getConf());
    opening = fs.getOpening(f);
   }
  return fs.openData(f, opening, bufferSize);
}

public abstract FSDataInputStream openData(Path f, FileOpening opening, int 
bufferSize)
  throws IOException;
{code}

HDFS would override getFileOpening() to return a subclass that also contains 
block locations.  Phew!  Would anyone leverage this but HDFS?

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

Reply via email to