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