[
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)