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