[
https://issues.apache.org/jira/browse/HDFS-8120?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14492433#comment-14492433
]
Walter Su commented on HDFS-8120:
---------------------------------
I carefully read {{DFSStripedOutputStream.writeParityCellsForLastStripe()}},
the {{lastStripeSizePerBlock}} (or you can call it "the last partial unfilled
cell") in data block and in parity block are same. {{lastStripeSizePerBlock}}
equals to the size of (partial or not) cell in the *first* data block.
So I think the calculation is:
{code:java}
public static long getSizeOfInternalBlock(long blkGroupSize, int cellSize,
int dataBlkNum) {
int numStripes = (int) (blkGroupSize / (cellSize * dataBlkNum));
long blkSize = numStripes * cellSize;
long lastStripeSize = blkGroupSize -
numStripes * cellSize * dataBlkNum;
long lastStripeSizePerBlock = Math.min(cellSize, lastStripeSize);
blkSize += lastStripeSizePerBlock;
return blkSize;
}
{code}
> Erasure coding: created util class to analyze striped block groups
> ------------------------------------------------------------------
>
> Key: HDFS-8120
> URL: https://issues.apache.org/jira/browse/HDFS-8120
> Project: Hadoop HDFS
> Issue Type: Sub-task
> Reporter: Zhe Zhang
> Assignee: Zhe Zhang
> Attachments: HDFS-8120.000.patch, HDFS-8120.001.patch
>
>
> The patch adds logic of calculating size of individual blocks in a striped
> block group.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)