hadoop-common-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Steve Loughran (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (HADOOP-2025) Instantiating a FileSystem object should guarantee the existence of the working directory
Date Sun, 12 Oct 2014 01:19:34 GMT

     [ https://issues.apache.org/jira/browse/HADOOP-2025?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Steve Loughran resolved HADOOP-2025.
------------------------------------
    Resolution: Won't Fix

Irritating as it is to encounter this client side, it has to be a WONTFIX.

In a secured cluster, the client cannot create the home directory if it doesn't exit. Attempting
to do so just creates stack traces on the client and audit log events on the server.

it could be done on other filesystems, such as s3, but on the object stores you're actually
adding a GET call on every FS create operation, one with its own delays and ways to fail.

Apps are going to have to deal with the missing path, or ask the ops team to create directories

> Instantiating a FileSystem object should guarantee the existence of the working directory
> -----------------------------------------------------------------------------------------
>
>                 Key: HADOOP-2025
>                 URL: https://issues.apache.org/jira/browse/HADOOP-2025
>             Project: Hadoop Common
>          Issue Type: Improvement
>          Components: fs
>    Affects Versions: 0.14.1
>            Reporter: Sameer Paranjpye
>            Assignee: Chris Douglas
>         Attachments: 2025-1.patch, 2025.patch
>
>
> Issues like HADOOP-1891 and HADOOP-1916 illustrate the need for this behavior.
> In HADOOP-1916 the problem is that the default working directory for a user on HDFS '/user/<username>'
does not exist. This results in the command 'hadoop dfs -copyFromLocal foo ." creating a *file*
called /user/<username> and copying the contents of the file 'foo' into this file.
> HADOOP-1891 is basically the same problem. The problem that Olga observed was that copying
a file to '.' on HDFS when her 'home directory' did not exist resulted in the creation of
a file with the path as her home directory. The problem is incorrectly filed as a bug in the
Path class. The behavior of Path is correct, as Doug points out, it is perfectly reasonable
for Path(".") to convert to an empty path. When this empty path is resolved in HDFS or any
other filesystem the resolution to '/user/<username>' is also correct (at least for
HDFS). The problem IMO is that the existence of the working directory is not guaranteed.
> When I log in to a machine my default working directory is '/home/sameerp' and filesystem
operations that I execute with relative paths all work correctly because this directory exists.
My home directory lives on a filer, in the event of it being unmountable the default working
directory I get is '/' which also is guaranteed to exist.
> In the context of Hadoop, instantiating a FileSystem object is the analogue of logging
in and should result in a working directory whose existence has been validated. In the case
of HDFS this should be '/user/<username>' or '/' if the directory does not exist.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message