[
https://issues.apache.org/jira/browse/HDFS-8248?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14709775#comment-14709775
]
Jing Zhao commented on HDFS-8248:
---------------------------------
The 004 patch looks good to me. Some minors:
# s/INodeId/ID/ for the javadoc of {{BlockCollection#getId}}
# A lot of callers of {{BlockManager#getBlockCollection}} actually pass in
BlockInfo, thus another lookup of blocksMap (by calling {{getStoredBlock}}) is
redundant for them.
# The patch includes many unnecessary indentation changes.
# The following change can be replaced by calling
{{BlockManager#getBlockCollection}}
{code}
- final BlockCollection bc = blockUC.getBlockCollection();
+ long bcId = blockUC.getBlockCollectionId();
+ final BlockCollection bc = getBlockCollection(bcId);
{code}
> Store INodeId instead of the INodeFile object in BlockInfoContiguous
> --------------------------------------------------------------------
>
> Key: HDFS-8248
> URL: https://issues.apache.org/jira/browse/HDFS-8248
> Project: Hadoop HDFS
> Issue Type: Improvement
> Reporter: Haohui Mai
> Assignee: Haohui Mai
> Labels: BB2015-05-TBR
> Attachments: HDFS-8248.000.patch, HDFS-8248.001.patch,
> HDFS-8248.002.patch, HDFS-8248.003.patch, HDFS-8248.004.patch
>
>
> Currently the namespace and the block manager are tightly coupled together.
> There are two couplings in terms of implementation:
> 1. The {{BlockInfoContiguous}} stores a reference of the {{INodeFile}} that
> owns the block, so that the block manager can look up the corresponding file
> when replicating blocks, recovering from pipeline failures, etc.
> 1. The {{INodeFile}} stores {{BlockInfoContiguous}} objects that the file
> owns.
> Decoupling the namespace and the block manager allows the BM to be separated
> out from the Java heap or even as a standalone process. This jira proposes to
> remove the first coupling by storing the id of the inode instead of the
> object reference of {{INodeFile}} in the {{BlockInfoContiguous}} class.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)