[ 
https://issues.apache.org/jira/browse/HDFS-8287?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14693096#comment-14693096
 ] 

Kai Sasaki commented on HDFS-8287:
----------------------------------

[~rakeshr] Thank you so much for great advice!

{quote}
Is that your intention is to block the cellBufferses(currentIndex) till 
writeParity() function is completed, considering that encoder will take more 
time than next ParityGenerator#enqueue arrives. If yes, then I think we should 
make ParityGenerator#enqueue() function also synchronized on bufferQueue. If 
not, then will wrap only bufferQueue.wait();, right?
{quote}

Yes. It is possible to be enqueued while generating parity in 
{{ParityGenerator}}. So I also think it is necessary to synchronize 
{{bufferQueue}} when enqueueing. I updated.

> DFSStripedOutputStream.writeChunk should not wait for writing parity 
> ---------------------------------------------------------------------
>
>                 Key: HDFS-8287
>                 URL: https://issues.apache.org/jira/browse/HDFS-8287
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: hdfs-client
>            Reporter: Tsz Wo Nicholas Sze
>            Assignee: Kai Sasaki
>         Attachments: HDFS-8287-HDFS-7285.00.patch, 
> HDFS-8287-HDFS-7285.01.patch, HDFS-8287-HDFS-7285.02.patch
>
>
> When a stripping cell is full, writeChunk computes and generates parity 
> packets.  It sequentially calls waitAndQueuePacket so that user client cannot 
> continue to write data until it finishes.
> We should allow user client to continue writing instead but not blocking it 
> when writing parity.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to