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

Jing Zhao commented on HDFS-8494:
---------------------------------

Thanks for working on this, [~kaisasak]!

In general I'm not very sure if we need to remove the hard-coded chunk size at 
this stage. But if we want to do this, we should record this information in 
BlockInfoStriped so that BlockInfoStriped is self explained. I think the basic 
idea is that we'd better decouple the logic of the blocks, which belong to the 
storage level, from the files. This means if one day we separate the block 
management out of the current namenode, the block manager service can provide 
enough information for a reader to read the striped block.

For memory footprint, we can easily do some follow-on optimization to save this 
extra 4 bytes. E.g., we can store all the existing combinations of (ecschema + 
chunk size) somewhere and only record an id in each striped block.




> Remove hard-coded chunk size in favor of ECZone
> -----------------------------------------------
>
>                 Key: HDFS-8494
>                 URL: https://issues.apache.org/jira/browse/HDFS-8494
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>    Affects Versions: HDFS-7285
>            Reporter: Kai Sasaki
>            Assignee: Kai Sasaki
>             Fix For: HDFS-7285
>
>         Attachments: HDFS-8494-HDFS-7285-01.patch, 
> HDFS-8494-HDFS-7285-02.patch
>
>
> It is necessary to remove hard-coded values inside NameNode configured in 
> {{HdfsConstants}}. In this JIRA, we can remove {{chunkSize}} gracefully in 
> favor of HDFS-8375.
> Because {{cellSize}} is now originally stored only in {{ErasureCodingZone}}, 
> {{BlockInfoStriped}} can receive {{cellSize}} in addition to {{ECSchema}} 
> when its initialization.



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

Reply via email to