[
https://issues.apache.org/jira/browse/HDFS-8287?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14639825#comment-14639825
]
Kai Sasaki commented on HDFS-8287:
----------------------------------
If independent thread do the {{encode()}}, following {{writeParity()}} must be
also done by this thread? Otherwise user client thread is blocked because
following parity streamers need parity buffers generated by {{encode()}}.
However, this causes that independent thread is responsible for handling and
waiting parity streamers and cannot make use of
{{DFSStripedOutputStream#writeParity}} itself because of a lot of private field
in {{DFSStripedOutputStream}}.
So is there any good idea to separate encoding and user client thread?
> 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
>
> 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)