[ 
https://issues.apache.org/jira/browse/HDFS-724?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Hairong Kuang updated HDFS-724:
-------------------------------

    Attachment: pipelineHeartbeat.patch

OK, here comes a patch that does the following:
1. when a pipeline is idle for half of the read timeout, dfsclient sends a 
heartbeat packet that has a sequence number of -1 and a data length of 0;
2. At the client side, a heartbeat packet does not get put the data queue and 
hence not in the ack queue;
3. At the datanode side, the block receiver treats a heartbeat packet mostly 
like a regular data packet; A heatbeat packet is put in the ack queue and its 
ack is also the same as that of a regular data packet;
4. The ack to a heartbeat packet may also indicate failures in the pipeline and 
therefore triggers pipeline recovery.

> Pipeline close hangs if one of the datanode is not responsive.
> --------------------------------------------------------------
>
>                 Key: HDFS-724
>                 URL: https://issues.apache.org/jira/browse/HDFS-724
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: data-node, hdfs client
>    Affects Versions: 0.21.0
>            Reporter: Tsz Wo (Nicholas), SZE
>            Assignee: Hairong Kuang
>            Priority: Blocker
>             Fix For: 0.21.0
>
>         Attachments: h724_20091021.patch, pipelineHeartbeat.patch
>
>
> In the new pipeline design, pipeline close is implemented by sending an 
> additional empty packet.  If one of the datanode does not response to this 
> empty packet, the pipeline hangs.  It seems that there is no timeout.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to