hadoop-common-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Todd Lipcon (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HADOOP-5700) INode.getPathComponents throws NPE when given a non-absolute path
Date Wed, 27 May 2009 20:25:45 GMT

    [ https://issues.apache.org/jira/browse/HADOOP-5700?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12713718#action_12713718
] 

Todd Lipcon commented on HADOOP-5700:
-------------------------------------

bq.    Did anyone measure the performance impact on the patch? The check (!path.startsWith("/"))
introduced by the patch seems to be redundant since getPathNames(..) has the same check.

I can't imagine this would have any discernible performance impact, since it simply accesses
the first character of an existing String. This is nothing compared to the allocation and
byte copying that occurs inside of getPathComponents.

bq. After the patch, calling getPathComponents(null) will get a NPE but it was not before
the patch. Is it a bug?

This isn't changed by the patch - previously getPathNames returned null, which was then passed
into getPathComponents. This would have thrown an NPE when accessing strings.length. In either
case, if you pass null into a method which doesn't explicitly document that as being acceptable,
you should not be surprised by an NPE.

> INode.getPathComponents throws NPE when given a non-absolute path
> -----------------------------------------------------------------
>
>                 Key: HADOOP-5700
>                 URL: https://issues.apache.org/jira/browse/HADOOP-5700
>             Project: Hadoop Core
>          Issue Type: Bug
>          Components: dfs
>            Reporter: Todd Lipcon
>            Assignee: Todd Lipcon
>            Priority: Minor
>             Fix For: 0.21.0
>
>         Attachments: HADOOP-5700.txt
>
>
> If you pass a path that doesn't start with '/' to INode.getPathComponents, it throws
a NullPointerException. Instead it should throw IllegalArgumentException to make it clear
that absolute paths are required in this code.
> The attached patch fixes this, clarifies, the javadoc, and adds a test case.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message