[
https://issues.apache.org/jira/browse/HDFS-8296?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14525979#comment-14525979
]
surendra singh lilhore commented on HDFS-8296:
----------------------------------------------
I think namenode should update the counter of under replicated block and
corrupt blocks, even namenod in safe mode.
Attached initial patch. Updated existing test code for test.
Please review.
> BlockManager.getUnderReplicatedBlocksCount() is not giving correct count if
> namenode in safe mode.
> ---------------------------------------------------------------------------------------------------
>
> Key: HDFS-8296
> URL: https://issues.apache.org/jira/browse/HDFS-8296
> Project: Hadoop HDFS
> Issue Type: Bug
> Components: namenode
> Affects Versions: 2.6.0
> Reporter: surendra singh lilhore
> Assignee: surendra singh lilhore
> Attachments: HDFS-8296.patch
>
>
> {{underReplicatedBlocksCount}} update by the {{updateState()}} API.
> {code}
> void updateState() {
> pendingReplicationBlocksCount = pendingReplications.size();
> underReplicatedBlocksCount = neededReplications.size();
> corruptReplicaBlocksCount = corruptReplicas.size();
> }
> {code}
> but this will not call when NN in safe mode. This is happening because
> "computeDatanodeWork()" we will return 0 if NN in safe mode
> {code}
> int computeDatanodeWork() {
> .........
> if (namesystem.isInSafeMode()) {
> return 0;
> }
> ....................
> ....................
> this.updateState();
> ....................
> ....................
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)