Repository: hadoop
Updated Branches:
  refs/heads/branch-2 2a6c9f072 -> 35fccfda3


HDFS-7065. Pipeline close recovery race can cause block corruption.
Contributed by Kihwal Lee.
(cherry picked from commit bf27b9ca574592ef603e126bacb9b6a37c9eb5c6)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/35fccfda
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/35fccfda
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/35fccfda

Branch: refs/heads/branch-2
Commit: 35fccfda3ebc9f7b7c271e7897f666f5aa980ea7
Parents: 2a6c9f0
Author: Kihwal Lee <kih...@apache.org>
Authored: Fri Sep 19 09:01:27 2014 -0500
Committer: Kihwal Lee <kih...@apache.org>
Committed: Fri Sep 19 09:01:27 2014 -0500

----------------------------------------------------------------------
 hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt                        | 2 ++
 .../hadoop/hdfs/server/datanode/fsdataset/impl/FsDatasetImpl.java  | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hadoop/blob/35fccfda/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt 
b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
index aeef95a..b25f714 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
+++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
@@ -440,6 +440,8 @@ Release 2.6.0 - UNRELEASED
     HDFS-6840. Clients are always sent to the same datanode when read
     is off rack. (wang)
 
+    HDFS-7065. Pipeline close recovery race can cause block corruption (kihwal)
+
     BREAKDOWN OF HDFS-6134 AND HADOOP-10150 SUBTASKS AND RELATED JIRAS
   
       HDFS-6387. HDFS CLI admin tool for creating & deleting an

http://git-wip-us.apache.org/repos/asf/hadoop/blob/35fccfda/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsDatasetImpl.java
----------------------------------------------------------------------
diff --git 
a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsDatasetImpl.java
 
b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsDatasetImpl.java
index b87552d..57706f8 100644
--- 
a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsDatasetImpl.java
+++ 
b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsDatasetImpl.java
@@ -904,7 +904,7 @@ class FsDatasetImpl implements FsDatasetSpi<FsVolumeImpl> {
   }
 
   @Override // FsDatasetSpi
-  public String recoverClose(ExtendedBlock b, long newGS,
+  public synchronized String recoverClose(ExtendedBlock b, long newGS,
       long expectedBlockLen) throws IOException {
     LOG.info("Recover failed close " + b);
     // check replica's state

Reply via email to