Hi Manjunath,

I see. Thanks a lot.

Best,

Shu

2017-01-03 11:47 GMT-06:00 Manjunath A <[email protected]>:

> Hi Shu,
>
> Apologies for dealy in response.
>
> Close packet is something which is the last packet of the current block
> after writing which , the current block is closed and a new pipeline is
> setup for the next block.
>
> Your understanding of the one.isLastPacketInBlock() is correct.
>
> Regards,
> Manjunath
>
> On Wed, Dec 14, 2016 at 9:37 PM, wang shu <[email protected]>
> wrote:
>
>> Hi all,
>>
>> I have a question regarding the streamer thread (Line 382-575)
>>  implementation at DFSOutputStream.java(http://gr
>> epcode.com/file/repo1.maven.org/maven2/org.apache.hadoop/had
>> oop-hdfs/2.7.1/org/apache/hadoop/hdfs/DFSOutputStream.java#D
>> FSOutputStream.DataStreamer.run%28%29).
>>
>>
>> What's the logic of line 468-485 and line 535-548, why it check the
>> packet is the last one twice and the comments are different, one is "
>> // wait for all data packets have been successfully acked" and another
>> is "// wait for the close packet has been acked".  What's the close
>> packet?
>>
>> My understanding of this is:
>> If a packet is not the last in block, then the packet is sent directly,
>> and no need to wait for ACK.
>> If a packet is the last one, then it will first wait for all previous
>> packet to be ACKed, and then it will send the last packet in this block(
>> called close packet, I guess?), and then will need wait the last packet to
>> be ACKed.
>>
>> Thanks a lot for your help.
>>
>>
>> Best,
>>
>> Shu
>>
>
>

Reply via email to