You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-dev@hadoop.apache.org by "Akira AJISAKA (JIRA)" <ji...@apache.org> on 2015/05/22 09:43:18 UTC

[jira] [Resolved] (HDFS-8459) Question: Why Namenode doesn't judge the status of replicas when convert block status from commited to complete?

     [ https://issues.apache.org/jira/browse/HDFS-8459?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Akira AJISAKA resolved HDFS-8459.
---------------------------------
    Resolution: Invalid

Apache JIRA is for reporting bugs or filing proposed enhancement or features, not for end-user question. I recommend you to e-mail to user@hadoop.apache.org with this question.

> Question: Why Namenode doesn't judge the status of replicas when convert block status from commited to complete? 
> -----------------------------------------------------------------------------------------------------------------
>
>                 Key: HDFS-8459
>                 URL: https://issues.apache.org/jira/browse/HDFS-8459
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>            Reporter: cuiyang
>
>   Why Namenode doesn't judge the status of replicas when convert block status from commited to complete?
>   When client finished write block and call namenode::complete(), namenode do things as follow
>   (in BlockManager::commitOrCompleteLastBlock):
>        final boolean b = commitBlock((BlockInfoUnderConstruction)lastBlock, commitBlock);
>       if(countNodes(lastBlock).liveReplicas() >= minReplication)
>         completeBlock(bc, bc.numBlocks()-1, false);
>       return b;
>  
>   But  the NameNode doesn't care how many replicas which status is finalized this block has! 
>   It should be this: if there is no one replica which status is not finalized, the block should not convert to complete status!
>   Because According to the appendDesign3.pdf (https://issues.apache.org/jira/secure/attachment/12445209/appendDesign3.pdf):
>    Complete:
A 
complete 
block 
is 
a 
block 
whose 
length
 and
 GS 
are 
finalized 
and
 NameNode
 has 
seen
 a
 GS/len 
matched
 finalized 
replica 
of 
the
  block.
  



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)