[ 
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

Reply via email to