[ https://issues.apache.org/jira/browse/HDFS-2877?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Todd Lipcon updated HDFS-2877: ------------------------------ Attachment: hdfs-2877.txt Attached patch fixes the issue. It's not possible to write a unit test for this, since it relies on triggering the deleteOnExit hook. To test, I set up two NNs which pointed to the same dir. When I started the second, it failed with a lock error, but didn't delete the lock file. > If locking of a storage dir fails, it will remove the other NN's lock file on > exit > ---------------------------------------------------------------------------------- > > Key: HDFS-2877 > URL: https://issues.apache.org/jira/browse/HDFS-2877 > Project: Hadoop HDFS > Issue Type: Bug > Components: name-node > Affects Versions: 0.23.0, 0.24.0, 1.0.0 > Reporter: Todd Lipcon > Assignee: Todd Lipcon > Attachments: hdfs-2877.txt > > > In {{Storage.tryLock()}}, we call {{lockF.deleteOnExit()}} regardless of > whether we successfully lock the directory. So, if another NN has the > directory locked, then we'll fail to lock it the first time we start another > NN. But our failed start attempt will still remove the other NN's lockfile, > and a second attempt will erroneously start. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira