[
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