hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Anu Engineer (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-8153) Error Message points to wrong parent directory in case of path component name length error
Date Thu, 16 Apr 2015 19:05:59 GMT

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

Anu Engineer commented on HDFS-8153:
------------------------------------

It is not really broken, the reason why that code looks different is the semantics of getINode
seems to be different from getPath(int pos). In the second call we send the pos as the max
length of path component, and if you call getPath() without any argument then the pos parameter
passed to DFSUtil.byteArray2Path string is the length of the path components.

It took me a while to notice this subtle difference, I did another fix in DFSUtil but that
cause some test failure, hence this minimal invasive fix.



> Error Message points to wrong parent directory in case of path component name length
error
> ------------------------------------------------------------------------------------------
>
>                 Key: HDFS-8153
>                 URL: https://issues.apache.org/jira/browse/HDFS-8153
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: namenode
>    Affects Versions: 2.5.2
>            Reporter: Anu Engineer
>            Assignee: Anu Engineer
>         Attachments: hdfs-8153.001.patch
>
>
> If the name component length is greater than the permitted length, the error message
points to wrong parent directory for mkdir and touchz.
> Here are examples where the parent directory name is in error message. In this example
dfs.namenode.fs-limits.max-component-length is set to 19.
> {code}
> hdfs dfs -mkdir /user/hrt_qa/FileNameLength/really_big_name_dir01
> mkdir: The maximum path component name limit of really_big_name_dir01 in directory /user/hrt_qa/
is exceeded: limit=19 length=21
> {code}
> The expected value for the directory was _/user/hrt_qa/FileNameLength_. The same behavior
is observed for touchz
> {code}
> hdfs dfs -touchz /user/hrt_qa/FileNameLength/really_big_name_0004
> touchz: The maximum path component name limit of really_big_name_0004 in directory /user/hrt_qa/
is exceeded: limit=19 length=20
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message