[
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