[
https://issues.apache.org/jira/browse/HDFS-7672?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14527582#comment-14527582
]
Jing Zhao commented on HDFS-7672:
---------------------------------
Thanks for working on this, Nicholas! Some comments on the current patch:
# In the current patch we do not have the logic about bumping the
GenerationStamp when hitting a failure. I think we can do it either in this
jira or in a separate one.
# The current patch only captures failure while putting packets into queues and
cannot guarantee to catch failures while writing packets out to DN.
# We should still keep "volatile" for {{streamerClosed}} since it is accessed
out of lock protection in run().
# We do not need to add length to a parity block if its writing fails
# Can we move {{writeParity}} out of {{CellBuffers}} and make {{CellBuffers}}
only about the data/checksum buffers (i.e., no extra outputstream logic)?
# Maybe we can print all the datanodes in a separate method called
{{getNodeListString}} instead of {{toString}}?
# Need to fix the javadoc for {{DFSStripedOutputStream#generatePackets}}:
buffer -> byteBuffer
# javadoc for CellBuffers?
# The two for loop in {{encode}} method can be replaced by System.arrayCopy.
# The variable {{hasEndedBlocks}} may need to be renamed. Some javadoc will
also be helpful for understanding.
> Erasure Coding: handle write failure for stripping coding blocks
> ----------------------------------------------------------------
>
> Key: HDFS-7672
> URL: https://issues.apache.org/jira/browse/HDFS-7672
> Project: Hadoop HDFS
> Issue Type: Sub-task
> Components: hdfs-client
> Reporter: Tsz Wo Nicholas Sze
> Assignee: Tsz Wo Nicholas Sze
> Attachments: h7672_20150504.patch, h7672_20150504b.patch
>
>
> In *stripping* case, for (6, 3)-Reed-Solomon, a client writes to 6 data
> blocks and 3 parity blocks concurrently. We need to handle datanode or
> network failures when writing a EC BlockGroup.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)