[
https://issues.apache.org/jira/browse/HDFS-1779?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13011584#comment-13011584
]
dhruba borthakur commented on HDFS-1779:
----------------------------------------
If the app has invoked sync/hflush (as specified in the jira description), then
the block *is* persisted in the fsimage. Lease recovery won't be successful
until the time the datanode sends those blocks as part of a block report, So
this is a bug and the workaround to get the missing blocks back would be to
restart the datanodes?
> After NameNode restart , Clients can not read partial files even after client
> invokes Sync.
> -------------------------------------------------------------------------------------------
>
> Key: HDFS-1779
> URL: https://issues.apache.org/jira/browse/HDFS-1779
> Project: Hadoop HDFS
> Issue Type: Bug
> Components: data-node, name-node
> Affects Versions: 0.20-append
> Environment: Linux
> Reporter: Uma Maheswara Rao G
>
> In Append HDFS-200 issue,
> If file has 10 blocks and after writing 5 blocks if client invokes sync
> method then NN will persist the blocks information in edits.
> After this if we restart the NN, All the DataNodes will reregister with NN.
> But DataNodes are not sending the blocks being written information to NN. DNs
> are sending the blocksBeingWritten information in DN startup. So, here
> NameNode can not find that the 5 persisted blocks belongs to which datanodes.
> This information can build based on block reports from DN. Otherwise we will
> loose this 5 blocks information even NN persisted that block information in
> edits.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira