You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-dev@hadoop.apache.org by "Yi Liu (JIRA)" <ji...@apache.org> on 2015/05/12 09:24:00 UTC
[jira] [Created] (HDFS-8376) Erasure Coding: Update last cellsize
calculation according to whether the erasure codec is liner
Yi Liu created HDFS-8376:
----------------------------
Summary: Erasure Coding: Update last cellsize calculation according to whether the erasure codec is liner
Key: HDFS-8376
URL: https://issues.apache.org/jira/browse/HDFS-8376
Project: Hadoop HDFS
Issue Type: Sub-task
Reporter: Yi Liu
Assignee: Yi Liu
Current calculation for last cell size is as following. For parity cell, the last cell size is the same as the first data cell. But as discussed in HDFS-8347 and on-line meeting, some erasure codec is not liner, then the last cellsize for parity block is the codec chunk size.
{code}
private static int lastCellSize(int size, int cellSize, int numDataBlocks,
int i) {
if (i < numDataBlocks) {
// parity block size (i.e. i >= numDataBlocks) is the same as
// the first data block size (i.e. i = 0).
size -= i*cellSize;
if (size < 0) {
size = 0;
}
}
return size > cellSize? cellSize: size;
}
{code}
This JIRA also removes some duplicate code
{{StripedBlockUtil#constructStripedBlock}} and {{StripedBlockUtil#getStripedBlockLength}} are duplicated with some other methods, we can clean up.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)