Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Invalid
-
None
-
None
-
None
-
None
Description
The heartbeat processing code recently got rearranged via HADOOP-3254. FSNamesystem.handleHeartbeat acquires the hearbeat lock and then invoke blockReportProcessed. This method tries to acquire the global FSNamesystem lock. This is a lock hierarchy violation. This leads to deadlock.
The heatbeat processing code should acquire only the heartbeat lock. It should not acquire the global lock, otherwise heartprocessing become too heavyweight.
This code occurs only on trunk and not o 018 branch. Surprise!
Attachments
Issue Links
- is part of
-
HADOOP-3620 Namenode should synchronously resolve a datanode's network location when the datanode registers
- Closed
- is related to
-
HADOOP-3002 HDFS should not remove blocks while in safemode.
- Closed