Repository: hadoop
Updated Branches:
  refs/heads/branch-2.6 160a8c74d -> c092a8c1b


HADOOP-12958. PhantomReference for filesystem statistics can trigger OOM. 
Contributed by Sangjin Lee
(cherry picked from commit 9a09200a1f5f752e266d4fb8e0c808073080bde8)


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

Branch: refs/heads/branch-2.6
Commit: c092a8c1bb071fb708e20d9a66ea2fd6195f18e7
Parents: 160a8c7
Author: Jason Lowe <jl...@apache.org>
Authored: Fri Mar 25 23:05:29 2016 +0000
Committer: Jason Lowe <jl...@apache.org>
Committed: Fri Mar 25 23:05:29 2016 +0000

----------------------------------------------------------------------
 hadoop-common-project/hadoop-common/CHANGES.txt              | 3 +++
 .../src/main/java/org/apache/hadoop/fs/FileSystem.java       | 8 ++++----
 2 files changed, 7 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hadoop/blob/c092a8c1/hadoop-common-project/hadoop-common/CHANGES.txt
----------------------------------------------------------------------
diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt 
b/hadoop-common-project/hadoop-common/CHANGES.txt
index 5782165..39f14ca 100644
--- a/hadoop-common-project/hadoop-common/CHANGES.txt
+++ b/hadoop-common-project/hadoop-common/CHANGES.txt
@@ -27,6 +27,9 @@ Release 2.6.5 - UNRELEASED
     HADOOP-12589. Fix intermittent test failure of TestCopyPreserveFlag
     (iwasakims)
 
+    HADOOP-12958. PhantomReference for filesystem statistics can trigger OOM
+    (Sangjin Lee via jlowe)
+
 Release 2.6.4 - 2016-02-11
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/c092a8c1/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileSystem.java
----------------------------------------------------------------------
diff --git 
a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileSystem.java
 
b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileSystem.java
index 64efe66..ffee0fd 100644
--- 
a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileSystem.java
+++ 
b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileSystem.java
@@ -20,7 +20,7 @@ package org.apache.hadoop.fs;
 import java.io.Closeable;
 import java.io.FileNotFoundException;
 import java.io.IOException;
-import java.lang.ref.PhantomReference;
+import java.lang.ref.WeakReference;
 import java.lang.ref.ReferenceQueue;
 import java.net.URI;
 import java.net.URISyntaxException;
@@ -2889,7 +2889,7 @@ public abstract class FileSystem extends Configured 
implements Closeable {
 
     /**
      * Set of all thread-local data areas.  Protected by the Statistics lock.
-     * The references to the statistics data are kept using phantom references
+     * The references to the statistics data are kept using weak references
      * to the associated threads. Proper clean-up is performed by the cleaner
      * thread when the threads are garbage collected.
      */
@@ -2942,11 +2942,11 @@ public abstract class FileSystem extends Configured 
implements Closeable {
     }
 
     /**
-     * A phantom reference to a thread that also includes the data associated
+     * A weak reference to a thread that also includes the data associated
      * with that thread. On the thread being garbage collected, it is enqueued
      * to the reference queue for clean-up.
      */
-    private class StatisticsDataReference extends PhantomReference<Thread> {
+    private class StatisticsDataReference extends WeakReference<Thread> {
       private final StatisticsData data;
 
       public StatisticsDataReference(StatisticsData data, Thread thread) {

Reply via email to