Konstantin Shvachko created HDFS-4452: -----------------------------------------
Summary: getAdditionalBlock() can create multiple blocks if the client times out and retries. Key: HDFS-4452 URL: https://issues.apache.org/jira/browse/HDFS-4452 Project: Hadoop HDFS Issue Type: Bug Components: namenode Affects Versions: 2.0.2-alpha Reporter: Konstantin Shvachko Assignee: Konstantin Shvachko Priority: Critical HDFS client tries to addBlock() to a file. If NameNode is busy the client can timeout and will reissue the same request again. The two requests will race with each other in {{FSNamesystem.getAdditionalBlock()}}, which can result in creating two new blocks on the NameNode while the client will know of only one of them. This eventually results in {{NotReplicatedYetException}} because the extra block is never reported by any DataNode, which stalls file creation and puts it in invalid state with an empty block in the middle. -- 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