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

Walter Su updated HDFS-8453:
----------------------------
    Description: 
{code}
  void actualGetFromOneDataNode(final DNAddrPair datanode,
    ...
      LocatedBlock block = getBlockAt(blockStartOffset);
    ...
      fetchBlockAt(block.getStartOffset());
{code}
The {{blockStartOffset}} here is from inner block. For parity blocks, the 
offset will overlap with the next block group, and we may end up with fetching 
wrong block. So we have to assign a meaningful start offset for internal blocks 
in a block group, especially for parity blocks.

> Erasure coding: properly assign start offset for internal blocks in a block 
> group
> ---------------------------------------------------------------------------------
>
>                 Key: HDFS-8453
>                 URL: https://issues.apache.org/jira/browse/HDFS-8453
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>            Reporter: Zhe Zhang
>            Assignee: Zhe Zhang
>         Attachments: HDFS-8453-HDFS-7285.00.patch
>
>
> {code}
>   void actualGetFromOneDataNode(final DNAddrPair datanode,
>     ...
>       LocatedBlock block = getBlockAt(blockStartOffset);
>     ...
>       fetchBlockAt(block.getStartOffset());
> {code}
> The {{blockStartOffset}} here is from inner block. For parity blocks, the 
> offset will overlap with the next block group, and we may end up with 
> fetching wrong block. So we have to assign a meaningful start offset for 
> internal blocks in a block group, especially for parity blocks.



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

Reply via email to