[ 
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

Reply via email to