hadoop-hdfs-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eli Collins (JIRA)" <j...@apache.org>
Subject [jira] Created: (HDFS-961) dfs_readdir incorrectly parses paths
Date Tue, 09 Feb 2010 16:35:27 GMT
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
             Fix For: 0.20.2, 0.21.0, 0.22.0

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. 

// 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);

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.

View raw message