hadoop-hdfs-issues mailing list archives

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

    [ https://issues.apache.org/jira/browse/HDFS-1760?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13008479#comment-13008479
] 

Daryn Sharp commented on HDFS-1760:
-----------------------------------

The tests that failed appear unrelated to this change.

These tests have been sporadically failing in prior builds:
org.apache.hadoop.hdfs.server.datanode.TestTransferRbw.testTransferRbw
org.apache.hadoop.hdfs.server.datanode.TestBlockReport.blockReport_08

These tests have been consistently failing for a long time.
org.apache.hadoop.hdfsproxy.TestAuthorizationFilter.testPathPermit
org.apache.hadoop.hdfsproxy.TestAuthorizationFilter.testPathPermitQualified

Requesting approval despite the test failures.

> 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
>
>         Attachments: HDFS-1760.patch
>
>
> 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

Mime
View raw message