[ 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 u...@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)