Federation: Properly release in_use.lock created in BlockPoolStorage
---------------------------------------------------------------------
Key: HDFS-1648
URL: https://issues.apache.org/jira/browse/HDFS-1648
Project: Hadoop HDFS
Issue Type: Bug
Components: data-node
Affects Versions: Federation Branch
Reporter: Tanping Wang
Assignee: Tanping Wang
Fix For: Federation Branch
StorageDirectory locks in_use.lock file, when analyzeStorage() method is called
during
initialization.
Since BlockPoolStorage uses this method, an in_use.lock file is created and
locked under BlockPool directory
<StorageDirectory>/current/bpid/. This lock is not released when datanode
shutsdown. Restarting datanode without
formatting it results in datanode failure to acquire in_use.lock and hence
failure to restart.
in_use.lock file that currently exists in <StorageDirectory> (at the datanode
level) is sufficient to prevent two
instances of datanodes running on the same node. There is no need for such a
lock in block pool directories.
Change is needed so that BlockPoolStorage can disable locking when it creates
it's StorageDirectory.
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira