HIVE-11149 : Fix issue with sometimes HashMap in PerfLogger.java hangs 
(WangMeng, reviewed by Xuefu Zhang, Sergey Shelukhin)


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

Branch: refs/heads/llap
Commit: aded0d32dcffd7b333fe20211045fbb221a28279
Parents: 48c420e
Author: Sergey Shelukhin <[email protected]>
Authored: Thu Oct 8 11:13:20 2015 -0700
Committer: Sergey Shelukhin <[email protected]>
Committed: Thu Oct 8 11:35:43 2015 -0700

----------------------------------------------------------------------
 .../src/java/org/apache/hadoop/hive/ql/log/PerfLogger.java   | 2 +-
 .../java/org/apache/hadoop/hive/ql/session/SessionState.java | 8 +-------
 2 files changed, 2 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/aded0d32/common/src/java/org/apache/hadoop/hive/ql/log/PerfLogger.java
----------------------------------------------------------------------
diff --git a/common/src/java/org/apache/hadoop/hive/ql/log/PerfLogger.java 
b/common/src/java/org/apache/hadoop/hive/ql/log/PerfLogger.java
index 6263a6d..67b2282 100644
--- a/common/src/java/org/apache/hadoop/hive/ql/log/PerfLogger.java
+++ b/common/src/java/org/apache/hadoop/hive/ql/log/PerfLogger.java
@@ -84,7 +84,7 @@ public class PerfLogger {
   protected static final ThreadLocal<PerfLogger> perfLogger = new 
ThreadLocal<PerfLogger>();
 
 
-  public PerfLogger() {
+  private PerfLogger() {
     // Use getPerfLogger to get an instance of PerfLogger
   }
 

http://git-wip-us.apache.org/repos/asf/hive/blob/aded0d32/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java 
b/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java
index 56b0fae..41b4bb1 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java
@@ -219,8 +219,6 @@ public class SessionState {
    */
   LineageState ls;
 
-  private PerfLogger perfLogger;
-
   private final String userName;
 
   /**
@@ -1589,12 +1587,8 @@ public class SessionState {
     SessionState ss = get();
     if (ss == null) {
       return PerfLogger.getPerfLogger(null, resetPerfLogger);
-    } else if (ss.perfLogger != null && !resetPerfLogger) {
-      return ss.perfLogger;
     } else {
-      PerfLogger perfLogger = PerfLogger.getPerfLogger(ss.getConf(), 
resetPerfLogger);
-      ss.perfLogger = perfLogger;
-      return perfLogger;
+      return PerfLogger.getPerfLogger(ss.getConf(), resetPerfLogger);
     }
   }
 

Reply via email to