[
https://issues.apache.org/jira/browse/HDFS-15943?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
JiangHua Zhu reassigned HDFS-15943:
-----------------------------------
Assignee: JiangHua Zhu
> Solve the problem of making HeartbeatManager#heartbeatCheck() execute safely
> ----------------------------------------------------------------------------
>
> Key: HDFS-15943
> URL: https://issues.apache.org/jira/browse/HDFS-15943
> Project: Hadoop HDFS
> Issue Type: Bug
> Reporter: JiangHua Zhu
> Assignee: JiangHua Zhu
> Priority: Major
>
> Inside HeartbeatManager#heartbeatCheck(), a variable is defined here:
> DatanodeDescriptor dead = null;
> In fact, when HeartbeatManager#heartbeatCheck() is executed, it will cause
> the DatanodeManger to modify the data not in time.
> Code:
> DatanodeDescriptor dead = null;
> synchronized(this) {
> ......
> }
> if (dead != null) {
> ......
> dm.removeDeadDatanode(dead, !dead.isMaintenance());
> ......
> }
> And we will not prevent the simultaneous execution of heartbeatCheck() twice.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]