Kihwal Lee created HDFS-5142:
--------------------------------

             Summary: 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: 0.23.9, 2.1.0-beta
            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

Reply via email to