hadoop-common-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Doug Cutting (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HADOOP-4044) Create symbolic links in HDFS
Date Tue, 07 Oct 2008 16:18:44 GMT

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

Doug Cutting commented on HADOOP-4044:

Dhruba> the NameNode is not future-proof for backward compatibility.
Dhruba> Thus, exceptions could be used here. This keeps most of the HDFS code clean and

Yes, they could be used here, and it could be fixed later without breaking user code, but
that doesn't make it clean and elegant.  Rather it is a quick and dirty hack.  Returning normal
values through exceptions is a perversion.  The Namenode should be revised to support links
as first-class events, not as exceptions.

Konstantin> This is universal, but not a transparent api anymore.

It's no less transparent than 'FileStatus getFileStatus(Path)'.  In that case we combined
the value of many methods (isDirectory(), size(), owner(), etc.) into the value of a single
method with a very generic name.

In this case we wish to collapse three logical calls into one.  We want to perform 'isLink()',and
then either 'getLink()' or, e.g., 'open()', and return sufficient information so that the
caller can tell what happened.  In such cases, when multiple values must be grouped together
to represent something, we use a data structure, not some other channel like exceptions or
global variables.  With a data structure comes some loss of transparency, also called abstraction.

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

View raw message