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

Reply via email to