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

Zhe Zhang commented on HDFS-8145:
---------------------------------

Thanks for the work Jing! The patch looks good overall. 

# {{inInECZone}} should be {{isInECZone}}. 
# Also, should {{FSDirectory#isInECZone}} call 
{{ErasureCodingZoneManager#isInECZone}}? Not too much difference though..
# bq. Do not write data block # and parity block # to editlog
Currently {{HdfsConstants}} values are used in writing fsimage. Maybe we should 
add a TODO note here? I guess we will eventually get schema info from the inode 
and construct {{BlockInfo}} from it?

> Fix the editlog corruption exposed by failed TestAddStripedBlocks
> -----------------------------------------------------------------
>
>                 Key: HDFS-8145
>                 URL: https://issues.apache.org/jira/browse/HDFS-8145
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>            Reporter: Jing Zhao
>            Assignee: Jing Zhao
>         Attachments: HDFS-8145.000.patch, HDFS-8145.001.patch
>
>
> {{TestAddStripedBlocks}} failed with some editlog corruption. Did some 
> debugging, I can see at least two issues:
> # DFSStripedOutputStream tries to send out an empty packet to close the block 
> even if writing 0 bytes
> # Because of the above, NN tries to close the file. This exposes another bug 
> in {{BlockInfoStriped}}, which writes its data/parity block numbers into the 
> close editlog but do not read them while loading.
> This jira aims to only fix #2 and HDFS-8166 is used for fixing #1.



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

Reply via email to