hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Wang (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HADOOP-9415) Fix NullPointerException in getLinkTarget
Date Wed, 20 Mar 2013 19:15:16 GMT

     [ https://issues.apache.org/jira/browse/HADOOP-9415?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Andrew Wang updated HADOOP-9415:

    Attachment: hadoop-9415-2.patch

Hi Konstantin,

Sure, let's just get this one fixed. Probably shouldn't have lumped it in as a subtask, sorry.
Feel free to move it out to HDFS if you like.

As a bit of background, {{ClientProtocol#getLinkTarget}} is only called during symlink resolution.
It's unfortunate that there's a method with the same name in {{FileContext}}. I also agree
this isn't the right fix, I saw the {{return null}} at the end of the method and assumed it
was handled, but in fact it should never hit that.

I think {{NameNodeRpcServer#getLinkTarget}} confused {{HdfsFileStatus}} with {{FileStatus}},
which has a {{#getSymlink}} method which does actually throw an IOException. I think the right
fix here though is having {{NameNodeRpcServer#getLinkTarget}} do the {{isSymlink()}} check
then throw an {{IOException}} itself. This is essentially what other usages of this method

Patch attached that tries to clean this up.
> Fix NullPointerException in getLinkTarget
> -----------------------------------------
>                 Key: HADOOP-9415
>                 URL: https://issues.apache.org/jira/browse/HADOOP-9415
>             Project: Hadoop Common
>          Issue Type: Sub-task
>          Components: fs
>    Affects Versions: 3.0.0
>            Reporter: Andrew Wang
>            Assignee: Andrew Wang
>            Priority: Minor
>         Attachments: hadoop-9415-1.patch, hadoop-9415-2.patch
> {{HdfsFileStatus#getLinkTarget}} can throw a NPE in {{DFSUtil#bytes2String}} if {{symlink}}
is null. Better to instead return null and propagate this to the client.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

View raw message