[ 
https://issues.apache.org/jira/browse/HDFS-4516?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13605098#comment-13605098
 ] 

Han Xiao commented on HDFS-4516:
--------------------------------

For second method, we could revise like that:
1. for server in addBlock(), we don't call 
   dir.persistBlocks(src, pendingFile); and
   getEditLog().logSync();
2. for client, after call createBlockOutputStream(nodes, 0L, false);
   if (!success) {
     //
   } else {
     dfsClient.namenode.fsync(src, dfsClient.clientName);
   }
only after createBlockOutputStream succeed, we consider that the block is ok to 
log
                
> Client crash after block allocation and NN switch before lease recovery for 
> the same file can cause readers to fail forever
> ---------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HDFS-4516
>                 URL: https://issues.apache.org/jira/browse/HDFS-4516
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: namenode
>    Affects Versions: 3.0.0, 2.0.3-alpha
>            Reporter: Uma Maheswara Rao G
>            Priority: Critical
>
> If client crashes just after allocating block( blocks not yet created in DNs) 
> and NN also switched after this, then new Namenode will not know about locs.
> Further details will be in comment.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to