[
https://issues.apache.org/jira/browse/HDFS-6247?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14074674#comment-14074674
]
Vinayakumar B commented on HDFS-6247:
-------------------------------------
I feel 30 seconds or may be 0.5 * socketTimeout would be fine.
Since this socketTimeout is based on the configuration at client side, only it
can be assumed that this configuration is same in both client and datanode.
bq. How about .1 * socketTimeout for the hearbeat interval? Does that make
sense?
I feel making at same as socketTimeout can create timeout problems at the
boundary. Like datanode might send the response, but just before receiving that
response client might get timeout.
So I feel better will be half of it. i.e *0.5 * socketTimeout* will that be
fine?
> Avoid timeouts for replaceBlock() call by sending intermediate responses to
> Balancer
> ------------------------------------------------------------------------------------
>
> Key: HDFS-6247
> URL: https://issues.apache.org/jira/browse/HDFS-6247
> Project: Hadoop HDFS
> Issue Type: Bug
> Components: balancer, datanode
> Affects Versions: 2.4.0
> Reporter: Vinayakumar B
> Assignee: Vinayakumar B
> Attachments: HDFS-6247.patch, HDFS-6247.patch, HDFS-6247.patch,
> HDFS-6247.patch
>
>
> Currently there is no response sent from target Datanode to Balancer for the
> replaceBlock() calls.
> Since the Block movement for balancing is throttled, complete block movement
> will take time and this could result in timeout at Balancer, which will be
> trying to read the status message.
>
> To Avoid this during replaceBlock() call in in progress Datanode can send
> IN_PROGRESS status messages to Balancer to avoid timeouts and treat
> BlockMovement as failed.
--
This message was sent by Atlassian JIRA
(v6.2#6252)