You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-issues@hadoop.apache.org by "surendra singh lilhore (JIRA)" <ji...@apache.org> on 2015/05/03 21:45:06 UTC
[jira] [Commented] (HDFS-8296)
BlockManager.getUnderReplicatedBlocksCount() is not giving correct count
if namenode in safe mode.
[ 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)