[
https://issues.apache.org/jira/browse/HDFS-9223?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jing Zhao updated HDFS-9223:
----------------------------
Attachment: HDFS-9223.000.patch
The patch also makes the following changes in {{heartbeatCheck}}.
{code}
- synchronized(this) {
- dm.removeDeadDatanode(dead);
- }
+ dm.removeDeadDatanode(dead);
{code}
{code}
- synchronized(this) {
- blockManager.removeBlocksAssociatedTo(failedStorage);
- }
+ blockManager.removeBlocksAssociatedTo(failedStorage);
{code}
Looks like the changes to {{heartbeat#datanodes}} are already protected by the
heartbeat manager's monitor in corresponding methods. The heartbeat monitor was
added originally by HDFS-2108. [~szetszwo], do you think this change is OK?
> Code cleanup for DatanodeDescriptor and HeartbeatManager
> --------------------------------------------------------
>
> Key: HDFS-9223
> URL: https://issues.apache.org/jira/browse/HDFS-9223
> Project: Hadoop HDFS
> Issue Type: Bug
> Components: namenode
> Reporter: Jing Zhao
> Assignee: Jing Zhao
> Priority: Minor
> Attachments: HDFS-9223.000.patch
>
>
> Some code cleanup for {{DatanodeDescriptor}} and {{HeartbeatManager}}. The
> changes include:
> # Change {{DataDescriptor#isAlive}} and {{DatanodeDescriptor#needKeyUpdate}}
> from public to private
> # Use EnumMap for {{HeartbeatManager#storageTypeStatesMap}}
> # Move the {{isInStartupSafeMode}} out of the namesystem lock in
> {{heartbeatCheck}}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)