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

Tsz Wo (Nicholas), SZE commented on HADOOP-5700:
------------------------------------------------

> ... and I can't imagine a case where an extra memory access or two would 
> comprise a measurable portion of request latency.

You are right that this single patch is not going to affect the performance 
much but you may imagine that if all the internal methods validate the 
parameters, it probably will hurt.

The question is: why validation is required in this particular method, 
getPathComponents(..), but not the others?

> I do agree that parameter validation should be happening at the outer layers 
> of the API, but since I somehow managed to get the NPE at this point, I 
> figured this API was somehow publicly accessible...

In this case, the outer API seems to be getFileInfo(..) but not 
getPathComponents(..).  Why not fixing getFileInfo(..)?

> 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