hadoop-common-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Konstantin Shvachko (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HADOOP-4044) Create symbolic links in HDFS
Date Wed, 19 Nov 2008 19:10:45 GMT

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

Konstantin Shvachko commented on HADOOP-4044:

# We should have some *performance testing*. There is a lot of wrapping/unwrapping going on.
So we need to make sure that old operations like {{getBlockLocations(), create(), list()}}
etc. on the {{FileSystem}} level perform the same as the old code.
# > I suggest we use Dhruba's implementation and do the improvement later. 
I don't understand what is the problem here.
Nichlas proposes to have 2 classes {{FsResult<T>}} and {{FsResultWritable<T>}}
which extends {{FsResult<T>}}.
This is exactly what should be done here. {{ClientProtocol}} methods should return {{FsResultWritable<T>}},
while {{DFSClient}} and all other {{\*FileSystem}} classes should return {{FsResult<T>}}.
This is because Writable is needed only in the RPC level, after that Writable is not required.
interface ClientProtocol {
  FsResultWritable<LocatedBlocks>  setReplication(...);
  FsResultWritable<NullWritable> create(...);

class DFSClient {
  FsResult<LocatedBlocks>  setReplication(...) {
    return namenode.setReplication(...); // can do this because FsResultWritable is a subclass
of FsResult

  FsResult<OutputStream> create(...) {
    return new FsResult<OutputStream>(new DFSOutputStream(...));
# I did not review the code. Just looked in few places.
- Looks like FsResult constructors do not need to throw any exceptions.
- {{DFSClient.getHints()}} is deprecated. It is a good time to remove it.

> 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
>             Fix For: 0.20.0
>         Attachments: 4044_20081030spi.java, HADOOP-4044-strawman.patch, symLink1.patch,
symLink1.patch, symLink11.patch, symLink12.patch, symLink13.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.

View raw message