[ https://issues.apache.org/jira/browse/HDFS-9646?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15097511#comment-15097511 ]
Tsz Wo Nicholas Sze commented on HDFS-9646: ------------------------------------------- Thanks [~tfukudom] and [~jingzhao]. Patch looks good. Just a minor comment. - getReadLength can safely return int since it returns the min of remaining and recoverLength, where recoverLength is an int. > ErasureCodingWorker may fail when recovering data blocks with length less > than the first internal block > ------------------------------------------------------------------------------------------------------- > > Key: HDFS-9646 > URL: https://issues.apache.org/jira/browse/HDFS-9646 > Project: Hadoop HDFS > Issue Type: Sub-task > Components: erasure-coding > Affects Versions: 3.0.0 > Reporter: Takuya Fukudome > Assignee: Jing Zhao > Priority: Critical > Attachments: HDFS-9646.000.patch, test-reconstruct-stripe-file.patch > > > This is reported by [~tfukudom]: ErasureCodingWorker may fail with the > following exception when recovering a non-full internal block. > {code} > 2016-01-06 11:14:44,740 WARN datanode.DataNode > (ErasureCodingWorker.java:run(467)) - Failed to recover striped block: > BP-987302662-172.29.4.13-1450757377698:blk_-92233720368 > 54322288_29751 > java.io.IOException: Transfer failed for all targets. > at > org.apache.hadoop.hdfs.server.datanode.erasurecode.ErasureCodingWorker$ReconstructAndTransferBlock.run(ErasureCodingWorker.java:455) > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)