[
https://issues.apache.org/jira/browse/HADOOP-5741?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12708125#action_12708125
]
Hairong Kuang commented on HADOOP-5741:
---------------------------------------
In this case, there is no on-going writes. The problem is that data is not
flushed to disk when getBlockMetaDataInfo is called. But updateBlock flushes
and closes the file. Therefore, there is an inconsistency.
> In Datanode, update block may fail due to length inconsistency
> --------------------------------------------------------------
>
> Key: HADOOP-5741
> URL: https://issues.apache.org/jira/browse/HADOOP-5741
> Project: Hadoop Core
> Issue Type: Bug
> Components: dfs
> Reporter: Tsz Wo (Nicholas), SZE
>
> When a primary datanode tries to recover a block. It calls
> getBlockMetaDataInfo(..) to obtains information like block length from each
> datanode. Then, it calls updateBlock(..).
> The block length returned in getBlockMetaDataInfo(..) may be obtained from a
> unclosed local block file F. However, in updateBlock(..), it first closes F
> (if F is open) and then gets the length. These two lengths may be different.
> In such case, updateBlock(..) throws an exception.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.