[ 
https://issues.apache.org/jira/browse/HDFS-7678?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Zhe Zhang updated HDFS-7678:
----------------------------
    Attachment: HDFS-7678-HDFS-7285.013.patch

013 patch passes all existing tests.

One caveat is that as [~hitliuyi] [found | 
https://issues.apache.org/jira/browse/HDFS-8347?focusedCommentId=14533932&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14533932]
 yesterday, there's a codec bug. So I'm filling fixed content into decoded 
buffer and also manually verified that the correct range from parity blocks is 
fetched. I will file a separate JIRA to create a simulated codec algorithm for 
more isolated unit testing.

[~jingzhao] I added the test you suggested and it passes now (I tested failing 
each individual DN). I'm working on adding extensive unit tests for the new 
{{StripedBlockUtil}} logic. But as the patch is getting big now, please let me 
know if you think I should split the {{StripedBlockUtil}} changes to HDFS-8320. 
If we assume the new {{StripedBlockUtil}} arithmetic calculations are correct, 
the new pread logic in {{DFSStripedInputStream}} is quite simple. So maybe it's 
easier to review them separately.

> Erasure coding: DFSInputStream with decode functionality (pread)
> ----------------------------------------------------------------
>
>                 Key: HDFS-7678
>                 URL: https://issues.apache.org/jira/browse/HDFS-7678
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>    Affects Versions: HDFS-7285
>            Reporter: Li Bo
>            Assignee: Zhe Zhang
>         Attachments: BlockGroupReader.patch, HDFS-7678-HDFS-7285.002.patch, 
> HDFS-7678-HDFS-7285.003.patch, HDFS-7678-HDFS-7285.004.patch, 
> HDFS-7678-HDFS-7285.005.patch, HDFS-7678-HDFS-7285.006.patch, 
> HDFS-7678-HDFS-7285.007.patch, HDFS-7678-HDFS-7285.008.patch, 
> HDFS-7678-HDFS-7285.009.patch, HDFS-7678-HDFS-7285.010.patch, 
> HDFS-7678-HDFS-7285.012.patch, HDFS-7678-HDFS-7285.013.patch, 
> HDFS-7678.000.patch, HDFS-7678.001.patch
>
>
> A block group reader will read data from BlockGroup no matter in striping 
> layout or contiguous layout. The corrupt blocks can be known before 
> reading(told by namenode), or just be found during reading. The block group 
> reader needs to do decoding work when some blocks are found corrupt.



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

Reply via email to