[
https://issues.apache.org/jira/browse/HDFS-7348?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14527427#comment-14527427
]
Zhe Zhang commented on HDFS-7348:
---------------------------------
Thanks Yi for the updated patch! It basically LGTM; please find a few nits
below. I think we are good to go after they are fixed:
# The comment line "<- Decode and transfer <code>bufferSize</code> data each
time" is too long.
# In the main run loop, {{success}} and {{success4Target}} look a little
confusing. Since we expect most nodes to be up, maybe we should keep track of
{{badNodes}} like {{DFSInputStream}} instead of good ones? {{success4Target}}
could be {{targetsStatus}} and could be a {{BitSet}}? It'd also be good to make
these 2 consistent, something like {{sourcesStatus}} and {{targetsStatus}}?
# I guess somewhere in the code (not necessarily in this path) we should assert
all internal blocks indeed share the same checksum?
{code}
private void initChecksumAndBufferSizeIfNeeded(BlockReader blockReader) {
if (checksum == null) {
checksum = blockReader.getDataChecksum();
{code}
# The below TODO message is a little misleading. The current code actually
works correctly even if only 1 block is missing. Maybe "The current decode
method always try to decode parityBlkNum number of data blocks"
{code}
////////// Following decode code only works for parityBlkNum number of data
blocks missed. ////////////
{code}
# I filed HDFS-8320 and will try to consolidate this patch and HDFS-7678 there.
Will try to post a patch this week.
> Erasure Coding: striped block recovery
> --------------------------------------
>
> Key: HDFS-7348
> URL: https://issues.apache.org/jira/browse/HDFS-7348
> Project: Hadoop HDFS
> Issue Type: Sub-task
> Components: datanode
> Reporter: Kai Zheng
> Assignee: Yi Liu
> Attachments: ECWorker.java, HDFS-7348.001.patch, HDFS-7348.002.patch
>
>
> This JIRA is to recover one or more missed striped block in the striped block
> group.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)