You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by sz...@apache.org on 2015/06/24 17:39:51 UTC

hadoop git commit: HDFS-8253. DFSStripedOutputStream.closeThreads releases cellBuffers multiple times. Contributed by Kai Sasaki

Repository: hadoop
Updated Branches:
  refs/heads/HDFS-7285 d920cdab9 -> 093907d72


HDFS-8253. DFSStripedOutputStream.closeThreads releases cellBuffers multiple times.  Contributed by Kai Sasaki


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

Branch: refs/heads/HDFS-7285
Commit: 093907d728f417d9ed06d16d1a7a4afa5f547f03
Parents: d920cda
Author: Tsz-Wo Nicholas Sze <sz...@hortonworks.com>
Authored: Wed Jun 24 23:39:05 2015 +0800
Committer: Tsz-Wo Nicholas Sze <sz...@hortonworks.com>
Committed: Wed Jun 24 23:39:05 2015 +0800

----------------------------------------------------------------------
 .../hadoop-hdfs/CHANGES-HDFS-EC-7285.txt        |  3 +++
 .../hadoop/hdfs/DFSStripedOutputStream.java     | 27 +++++++++++---------
 2 files changed, 18 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hadoop/blob/093907d7/hadoop-hdfs-project/hadoop-hdfs/CHANGES-HDFS-EC-7285.txt
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/CHANGES-HDFS-EC-7285.txt b/hadoop-hdfs-project/hadoop-hdfs/CHANGES-HDFS-EC-7285.txt
index 7f62425..f880425 100755
--- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES-HDFS-EC-7285.txt
+++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES-HDFS-EC-7285.txt
@@ -320,3 +320,6 @@
 
     HDFS-8567. Erasure Coding: SafeMode handles file smaller than a full stripe.
     (Walter Su via jing9)
+
+    HDFS-8253. DFSStripedOutputStream.closeThreads releases cellBuffers
+    multiple times.  (Kai Sasaki via szetszwo)

http://git-wip-us.apache.org/repos/asf/hadoop/blob/093907d7/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSStripedOutputStream.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSStripedOutputStream.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSStripedOutputStream.java
index 1068b37..cd7f6d4 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSStripedOutputStream.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSStripedOutputStream.java
@@ -494,21 +494,24 @@ public class DFSStripedOutputStream extends DFSOutputStream {
   @Override
   protected void closeThreads(boolean force) throws IOException {
     final MultipleIOException.Builder b = new MultipleIOException.Builder();
-    for (StripedDataStreamer streamer : streamers) {
-      try {
-        streamer.close(force);
-        streamer.join();
-        streamer.closeSocket();
-      } catch(Exception e) {
+    try {
+      for (StripedDataStreamer streamer : streamers) {
         try {
-          handleStreamerFailure("force=" + force, e);
-        } catch(IOException ioe) {
-          b.add(ioe);
+          streamer.close(force);
+          streamer.join();
+          streamer.closeSocket();
+        } catch (Exception e) {
+          try {
+            handleStreamerFailure("force=" + force, e);
+          } catch (IOException ioe) {
+            b.add(ioe);
+          }
+        } finally {
+          streamer.setSocketToNull();
         }
-      } finally {
-        streamer.setSocketToNull();
-        setClosed();
       }
+    } finally {
+      setClosed();
     }
     final IOException ioe = b.build();
     if (ioe != null) {