Return-Path: Delivered-To: apmail-hadoop-hdfs-issues-archive@minotaur.apache.org Received: (qmail 67287 invoked from network); 19 Feb 2010 19:38:49 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 19 Feb 2010 19:38:49 -0000 Received: (qmail 68279 invoked by uid 500); 19 Feb 2010 19:38:49 -0000 Delivered-To: apmail-hadoop-hdfs-issues-archive@hadoop.apache.org Received: (qmail 68185 invoked by uid 500); 19 Feb 2010 19:38:49 -0000 Mailing-List: contact hdfs-issues-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: hdfs-issues@hadoop.apache.org Delivered-To: mailing list hdfs-issues@hadoop.apache.org Received: (qmail 68166 invoked by uid 99); 19 Feb 2010 19:38:49 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 19 Feb 2010 19:38:49 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 19 Feb 2010 19:38:48 +0000 Received: from brutus.apache.org (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 6FB6A29A0040 for ; Fri, 19 Feb 2010 11:38:28 -0800 (PST) Message-ID: <608990058.396921266608308456.JavaMail.jira@brutus.apache.org> Date: Fri, 19 Feb 2010 19:38:28 +0000 (UTC) From: "Eli Collins (JIRA)" To: hdfs-issues@hadoop.apache.org Subject: [jira] Updated: (HDFS-961) dfs_readdir incorrectly parses paths In-Reply-To: <436986934.152741265733327990.JavaMail.jira@brutus.apache.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/HDFS-961?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Eli Collins updated HDFS-961: ----------------------------- Status: Patch Available (was: Open) > dfs_readdir incorrectly parses paths > ------------------------------------ > > Key: HDFS-961 > URL: https://issues.apache.org/jira/browse/HDFS-961 > Project: Hadoop HDFS > Issue Type: Bug > Components: contrib/fuse-dfs > Affects Versions: 0.20.1, 0.20.2, 0.21.0 > Reporter: Eli Collins > Assignee: Eli Collins > Attachments: hdfs-961-1.patch, hdfs-961-2.patch > > > fuse-dfs dfs_readdir assumes that DistributedFileSystem#listStatus returns Paths with the same scheme/authority as the dfs.name.dir used to connect. If NameNode.DEFAULT_PORT port is used listStatus returns Paths that have authorities without the port (see HDFS-960), which breaks the following code. > {code} > // hack city: todo fix the below to something nicer and more maintainable but > // with good performance > // strip off the path but be careful if the path is solely '/' > // NOTE - this API started returning filenames as full dfs uris > const char *const str = info[i].mName + dfs->dfs_uri_len + path_len + ((path_len == 1 && *path == '/') ? 0 : 1); > {code} > Let's make the path parsing here more robust. listStatus returns normalized paths so we can find the start of the path by searching for the 3rd slash. A more long term solution is to have hdfsFileInfo maintain a path object or at least pointers to the relevant URI components. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.