Hi All,

  I observed that there are two kinds of ack'ing going on when a
datanode receives a data block packet: 1. ack by sending the sequence
number of the received block to upstream datanode; 2. also send
operation status (e.g. SUCCESS, ERROR);

  The seqno is chained, that is, a node will not ack the seqno unless
it received the same seqno from downstream, or a -2 is sent to
indicate not receiving anything from downstream datanodes.
The status is forwarded, with the number of such messages increased by
one traveling upstream.

   My question is why the seqno ack mechanism alone is not sufficient
in this case.  Are status acks really needed?

-Bin

Reply via email to