[ https://issues.apache.org/jira/browse/HDFS-793?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Hairong Kuang updated HDFS-793: ------------------------------- Attachment: separateSendRcvAck1.patch This patch has the following chanages: 1. Bump up the data transfer protocol version number; 2. Remove the unused method ackReply; 3. Replace the use of seqno of -1 with PipelineAck.HEART_BEAT.getseqno(); > DataNode should first receive the whole packet ack message before it > constructs and sends its own ack message for the packet > ---------------------------------------------------------------------------------------------------------------------------- > > Key: HDFS-793 > URL: https://issues.apache.org/jira/browse/HDFS-793 > Project: Hadoop HDFS > Issue Type: Bug > Components: data-node > Reporter: Hairong Kuang > Assignee: Hairong Kuang > Priority: Blocker > Fix For: 0.20.2, 0.21.0, 0.22.0 > > Attachments: separateSendRcvAck.patch, separateSendRcvAck1.patch > > > Currently BlockReceiver#PacketResponder interleaves receiving ack message and > sending ack message for the same packet. It reads a portion of the message, > sends a portion of its ack, and continues like this until it hits the end of > the message. The problem is that if it gets an error receiving the ack, it is > not able to send an ack that reflects the source of the error. > The PacketResponder should receives the whole packet ack message first and > then constuct and sends out its ack. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.