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.
E.g.
{code}
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(...));
  }
}
{code}
# 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.


Mime
View raw message