[
https://issues.apache.org/jira/browse/HDFS-5142?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kihwal Lee resolved HDFS-5142.
------------------------------
Resolution: Duplicate
Ahhh. I thought it looked familiar. I did even commented on HDFS-4482.
> Namenode crashes with NPE in ReplicationMonitor
> -----------------------------------------------
>
> Key: HDFS-5142
> URL: https://issues.apache.org/jira/browse/HDFS-5142
> Project: Hadoop HDFS
> Issue Type: Bug
> Affects Versions: 2.1.0-beta, 0.23.9
> Reporter: Kihwal Lee
> Priority: Critical
>
> When ReplicationMonitor creates and adds a replication work for a block, its
> INodeFile (0.23) or BlockCollection (2.x) is recorded. This is done under the
> FSN write lock, but the actual chooseTarget() call is made outside the lock.
> When chooseTarget() is called, FSDirectory#getFullPathName() ends up getting
> called. If the INode was unlinked from its parents after ReplicationMonitor
> releasing the lock (e.g. delete), this call genetates NPE and crashes the
> name node.
> Path name is actually unused in the existing block placement policy modules.
> But private implementations might use it. It will be nice if we can avoid
> calling getFullPathName() at all here.
--
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