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

Kai Zheng commented on HDFS-10460:
----------------------------------

In the following change, requestedNumBytes should be actualNumBytes, right.
{code}
void checksumBlocks() throws IOException {
     private boolean checksumBlockGroup(
         LocatedStripedBlock blockGroup) throws IOException {
       ExtendedBlock block = blockGroup.getBlock();
+      long requestedNumBytes = block.getNumBytes();
       if (getRemaining() < block.getNumBytes()) {
         block.setNumBytes(getRemaining());
       }
-      setRemaining(getRemaining() - block.getNumBytes());
+      setRemaining(getRemaining() - requestedNumBytes);
{code}

> Erasure Coding: Recompute block checksum for a particular range less than 
> file size on the fly by reconstructing missed block
> -----------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HDFS-10460
>                 URL: https://issues.apache.org/jira/browse/HDFS-10460
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: datanode
>            Reporter: Rakesh R
>            Assignee: Rakesh R
>         Attachments: HDFS-10460-00.patch, HDFS-10460-01.patch
>
>
> This jira is HDFS-9833 follow-on task to address reconstructing block and 
> then recalculating block checksum for a particular range query.
> For example,
> {code}
> // create a file 'stripedFile1' with fileSize = cellSize * numDataBlocks = 
> 65536 * 6 = 393216
> FileChecksum stripedFileChecksum = getFileChecksum(stripedFile1, 10, true);
> {code}



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to