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)