[
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 [email protected]
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)