Return-Path: Delivered-To: apmail-lucene-hadoop-dev-archive@locus.apache.org Received: (qmail 67209 invoked from network); 22 Nov 2006 22:14:25 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 22 Nov 2006 22:14:25 -0000 Received: (qmail 53257 invoked by uid 500); 22 Nov 2006 22:14:34 -0000 Delivered-To: apmail-lucene-hadoop-dev-archive@lucene.apache.org Received: (qmail 53234 invoked by uid 500); 22 Nov 2006 22:14:34 -0000 Mailing-List: contact hadoop-dev-help@lucene.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: hadoop-dev@lucene.apache.org Delivered-To: mailing list hadoop-dev@lucene.apache.org Received: (qmail 53225 invoked by uid 99); 22 Nov 2006 22:14:34 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 22 Nov 2006 14:14:34 -0800 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO brutus.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 22 Nov 2006 14:14:24 -0800 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id D344D7142D1 for ; Wed, 22 Nov 2006 14:14:03 -0800 (PST) Message-ID: <12840193.1164233643862.JavaMail.jira@brutus> Date: Wed, 22 Nov 2006 14:14:03 -0800 (PST) From: "Doug Cutting (JIRA)" To: hadoop-dev@lucene.apache.org Subject: [jira] Updated: (HADOOP-571) Path should use URI syntax In-Reply-To: <6678550.1159825879600.JavaMail.root@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org [ http://issues.apache.org/jira/browse/HADOOP-571?page=all ] Doug Cutting updated HADOOP-571: -------------------------------- Attachment: uri3.patch Another update. This now works correctly on Windows. However the contrib/streaming unit tests now fail. My suspicion is that streaming uses path.toString() on paths, then process the strings to create new paths. Such code will likely break, since path syntax has changed. It's better to manipulate Paths with Path methods... > Path should use URI syntax > -------------------------- > > Key: HADOOP-571 > URL: http://issues.apache.org/jira/browse/HADOOP-571 > Project: Hadoop > Issue Type: Improvement > Components: fs > Reporter: Doug Cutting > Assigned To: Doug Cutting > Attachments: uri.patch, uri2.patch, uri3.patch > > > The following changes are proposed: > 1. Add a factory/registry of FileSystem implementations. Given a protocol, hostname and port, it should be possible to get a FileSystem implementation. > 2. Path's constructor should accept URI-formatted strings & a configuration. > 3. A new Path method should be added: FileSystem.getFileSystem(). This returns the filesystem named in the path or the default configured filesystem. > 4. Most methods which currently take FileSystem and Path parameters can be changed to take only Path. > 5. Many FileSystem operations (create, open, delete, list, etc.) can become convenience methods on Path. > 6. A URLStreamHandler can be defined in terms of the FileSystem API, so that URLs for any protocol with a registered FileSystem implementation can be accessed with a java.net.URL, permitting FileSystem implementations to be used on the classpath, etc. > It is tempting to try to replace Path with java.net.URL, but URL's methods are insufficient for mapreduce. We require directory listings, random access, location hints, etc., which are not supported by existing URLStreamHandler implementations. But we can expose all FileSystem implementations for access with java.net.URL. > (From a brainstorm with Owen.) -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira