[
https://issues.apache.org/jira/browse/HDFS-7704?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14318563#comment-14318563
]
Tsuyoshi OZAWA commented on HDFS-7704:
--------------------------------------
As a temporal solution, I'll revert this commit shortly.
> DN heartbeat to Active NN may be blocked and expire if connection to Standby
> NN continues to time out.
> -------------------------------------------------------------------------------------------------------
>
> Key: HDFS-7704
> URL: https://issues.apache.org/jira/browse/HDFS-7704
> Project: Hadoop HDFS
> Issue Type: Bug
> Components: datanode, namenode
> Affects Versions: 2.5.0
> Reporter: Rushabh S Shah
> Assignee: Rushabh S Shah
> Fix For: 2.7.0
>
> Attachments: HDFS-7704-v2.patch, HDFS-7704-v3.patch,
> HDFS-7704-v4.patch, HDFS-7704-v5.patch, HDFS-7704.patch
>
>
> There are couple of synchronous calls in BPOfferservice (i.e reportBadBlocks
> and trySendErrorReport) which will wait for both of the actor threads to
> process this calls.
> This calls are made with writeLock acquired.
> When reportBadBlocks() is blocked at the RPC layer due to unreachable NN,
> subsequent heartbeat response processing has to wait for the write lock. It
> eventually gets through, but takes too long and it blocks the next heartbeat.
> In our HA cluster setup, the standby namenode was taking a long time to
> process the request.
> Requesting improvement in datanode to make the above calls asynchronous since
> these reports don't have any specific
> deadlines, so extra few seconds of delay should be acceptable.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)