[
https://issues.apache.org/jira/browse/HDFS-8058?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14621976#comment-14621976
]
Walter Su commented on HDFS-8058:
---------------------------------
1. {{hasNoContiguousBlock()}} logic need update
2.
{code}
assert blocks == null || blocks.length == 0: "The file contains contiguous
blocks";
{code}
addStripedBlocksFeature() need update:
{code}
//TODO: HDFS-8030
assert hasNoContiguousBlock(): "The file contains contiguous blocks";
{code}
3. #5 of Jing's comment. Again, we should revisit all {{if}} statement, and
{{getBlocks()}} statement.
{code}
if (blks == null || blks.length == 0)
{code}
4. #1 of Jing's comments. Lots of the patch is used to keep consistent with
trunk's code
5. +1 for recovering trunk version's assertAllBlocksComplete(), setBlock(),
removeLastBlock(), addBlock(), updateBlockCollection(), getLastBlock(),
numBlocks(), truncateBlocksTo()
6. +1 for adding clearBlocks(), +1 for simplifying storagespaceConsumedStriped()
> Erasure coding: use BlockInfo[] for both striped and contiguous blocks in
> INodeFile
> -----------------------------------------------------------------------------------
>
> Key: HDFS-8058
> URL: https://issues.apache.org/jira/browse/HDFS-8058
> Project: Hadoop HDFS
> Issue Type: Sub-task
> Affects Versions: HDFS-7285
> Reporter: Yi Liu
> Assignee: Zhe Zhang
> Attachments: HDFS-8058-HDFS-7285.003.patch,
> HDFS-8058-HDFS-7285.004.patch, HDFS-8058.001.patch, HDFS-8058.002.patch
>
>
> This JIRA is to use {{BlockInfo[] blocks}} for both striped and contiguous
> blocks in INodeFile.
> Currently {{FileWithStripedBlocksFeature}} keeps separate list for striped
> blocks, and the methods there duplicate with those in INodeFile, and current
> code need to judge {{isStriped}} then do different things. Also if file is
> striped, the {{blocks}} in INodeFile occupy a reference memory space.
> These are not necessary, and we can use the same {{blocks}} to make code more
> clear.
> I keep {{FileWithStripedBlocksFeature}} as empty for follow use: I will file
> a new JIRA to move {{dataBlockNum}} and {{parityBlockNum}} from
> *BlockInfoStriped* to INodeFile, since ideally they are the same for all
> striped blocks in a file, and store them in block will waste NN memory.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)