Hi Bin,

I think that your observation is correct. The  act of sending a SUCCESS
status ack can be avoided by intelligently looking at the seqno. However, my
opinion is that returning the extra bit of information is not impacting
performance/correctness at all, do you agree?

thank,
dhruba



On Mon, Nov 2, 2009 at 12:39 PM, B. X. <bxi...@gmail.com> wrote:

> 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
>



-- 
Connect to me at http://www.facebook.com/dhruba

Reply via email to