hadoop-hdfs-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daryn Sharp (JIRA)" <j...@apache.org>
Subject [jira] Created: (HDFS-1760) problems with getFullPathName
Date Wed, 16 Mar 2011 22:22:29 GMT
problems with getFullPathName

                 Key: HDFS-1760
                 URL: https://issues.apache.org/jira/browse/HDFS-1760
             Project: Hadoop HDFS
          Issue Type: Bug
          Components: name-node
    Affects Versions: 0.22.0
            Reporter: Daryn Sharp
            Assignee: Daryn Sharp
             Fix For: 0.23.0

FSDirectory's getFullPathName method is flawed.  Given a list of inodes, it starts at index
1 instead of 0 (based on the assumption that inode[0] is always the root inode) and then builds
the string with "/"+inode[i].  This means the empty string is returned for the root, or when
requesting the full path of the parent dir for top level items.

In addition, it's not guaranteed that the list of inodes starts with the root inode.  The
inode lookup routine will only fill the inode array with the last n-many inodes of a path
if the array is smaller than the path.  In these cases, getFullPathName will skip the first
component of the relative path, and then assume the second component starts at the root. 
ex. "a/b/c" becomes "/b/c".

There are a few places in the code where the issue was hacked around by assuming that a 0-length
path meant a hardcoded "/" instead of Path.SEPARATOR.

This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

View raw message