From fc105796d100f7307fe17c4184eab4249e9d91ea Mon Sep 17 00:00:00 2001 From: Konstantin Shvachko Date: Sat, 29 Dec 2012 04:11:58 +0000 Subject: [PATCH] HDFS-4308. addBlock() should persist file blocks once. Contributed by Plamen Jeliazkov. git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1426700 13f79535-47bb-0310-9956-ffa450edef68 --- hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt | 3 +++ .../org/apache/hadoop/hdfs/server/namenode/FSDirectory.java | 5 +---- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt index 926b0e6fe6..2c81062055 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt +++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt @@ -629,6 +629,9 @@ Release 2.0.3-alpha - Unreleased HDFS-4140. fuse-dfs handles open(O_TRUNC) poorly. (Colin Patrick McCabe via atm) + HDFS-4308. addBlock() should persist file blocks once. + (Plamen Jeliazkov via shv) + BREAKDOWN OF HDFS-3077 SUBTASKS HDFS-3077. Quorum-based protocol for reading and writing edit logs. diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirectory.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirectory.java index 5f0ab33456..bc384f3e77 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirectory.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirectory.java @@ -394,19 +394,16 @@ public class FSDirectory implements Closeable { /** * Remove a block from the file. */ - boolean removeBlock(String path, INodeFileUnderConstruction fileNode, + void removeBlock(String path, INodeFileUnderConstruction fileNode, Block block) throws IOException { waitForReady(); writeLock(); try { unprotectedRemoveBlock(path, fileNode, block); - // write modified block locations to log - fsImage.getEditLog().logOpenFile(path, fileNode); } finally { writeUnlock(); } - return true; } void unprotectedRemoveBlock(String path, INodeFileUnderConstruction fileNode,