[
https://issues.apache.org/jira/browse/HDFS-9442?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15038291#comment-15038291
]
Haohui Mai commented on HDFS-9442:
----------------------------------
The patch looks good to me overall. Thanks Mingliang for the work. Some
comments:
# BlockManager.getReplication(BlockInfo block) can be inlined.
# A couple more functions need to be moved into {{ReplicationManager}},
including {{hasEnoughEffectiveReplicas()}}, {{isNeededReplication()}}, and
{{validateRecover()}}.
#
{code}
- blockLog.debug("BLOCK* removeStoredBlock: {} is removed from " +
- "excessBlocks", storedBlock);
{code}
Debug log is missing in the {{ReplicationManager}}
{code}
+ void scheduleNeedeReplicationIfNotPending(BlockInfo block,
+ NumberReplicas num) {
{code}
Typo in the function name.
> Move block replication logic from BlockManager to a new class
> ReplicationManager
> --------------------------------------------------------------------------------
>
> Key: HDFS-9442
> URL: https://issues.apache.org/jira/browse/HDFS-9442
> Project: Hadoop HDFS
> Issue Type: Sub-task
> Components: namenode
> Reporter: Mingliang Liu
> Assignee: Mingliang Liu
> Attachments: HDFS-9442.000.patch, HDFS-9442.001.patch,
> HDFS-9442.002.patch, HDFS-9442.003.patch, HDFS-9442.004.patch,
> HDFS-9442.005.patch
>
>
> Currently the {{BlockManager}} is managing all replication logic for over- ,
> under- and mis-replicated blocks. This jira proposes to move that code to a
> new class named {{ReplicationManager}} for cleaner code logic, shorter source
> files, and easier lock separating work in future.
> The {{ReplicationManager}} is a package local class, providing
> {{BlockManager}} with methods that accesses its internal data structures of
> replication queue. Meanwhile, the class maintains the lifecycle of
> {{replicationThread}} and {{replicationQueuesInitializer}} daemon.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)