[ 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