You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lens.apache.org by pu...@apache.org on 2016/10/25 10:25:09 UTC

[11/31] lens git commit: LENS-1278 : Fix too many instances of UDFClassLoader

LENS-1278 : Fix too many instances of UDFClassLoader


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

Branch: refs/heads/master
Commit: 35aba09ab0288f67634f70ad65ea41ed89322892
Parents: baf4e76
Author: Amareshwari Sriramadasu <am...@apache.org>
Authored: Fri Aug 19 12:37:02 2016 +0530
Committer: Amareshwari Sriramadasu <am...@apache.org>
Committed: Mon Aug 22 10:32:29 2016 +0530

----------------------------------------------------------------------
 .../java/org/apache/lens/server/session/LensSessionImpl.java    | 4 ++++
 .../java/org/apache/lens/server/session/SessionClassLoader.java | 5 +++--
 2 files changed, 7 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lens/blob/35aba09a/lens-server/src/main/java/org/apache/lens/server/session/LensSessionImpl.java
----------------------------------------------------------------------
diff --git a/lens-server/src/main/java/org/apache/lens/server/session/LensSessionImpl.java b/lens-server/src/main/java/org/apache/lens/server/session/LensSessionImpl.java
index 3003ab7..a6013e7 100644
--- a/lens-server/src/main/java/org/apache/lens/server/session/LensSessionImpl.java
+++ b/lens-server/src/main/java/org/apache/lens/server/session/LensSessionImpl.java
@@ -221,6 +221,8 @@ public class LensSessionImpl extends HiveSessionImpl implements AutoCloseable {
       }
       sessionDbClassLoaders.clear();
     }
+    // reset classloader in close
+    Thread.currentThread().setContextClassLoader(LensSessionImpl.class.getClassLoader());
   }
 
   public CubeMetastoreClient getCubeMetastoreClient() throws LensException {
@@ -272,6 +274,8 @@ public class LensSessionImpl extends HiveSessionImpl implements AutoCloseable {
     setActive();
     if (acquireCount.decrementAndGet() == 0) {
       super.release(userAccess);
+      // reset classloader in release
+      Thread.currentThread().setContextClassLoader(LensSessionImpl.class.getClassLoader());
     }
   }
 

http://git-wip-us.apache.org/repos/asf/lens/blob/35aba09a/lens-server/src/main/java/org/apache/lens/server/session/SessionClassLoader.java
----------------------------------------------------------------------
diff --git a/lens-server/src/main/java/org/apache/lens/server/session/SessionClassLoader.java b/lens-server/src/main/java/org/apache/lens/server/session/SessionClassLoader.java
index f5e2068..0230db6 100644
--- a/lens-server/src/main/java/org/apache/lens/server/session/SessionClassLoader.java
+++ b/lens-server/src/main/java/org/apache/lens/server/session/SessionClassLoader.java
@@ -20,7 +20,8 @@ package org.apache.lens.server.session;
 
 import java.io.IOException;
 import java.net.URL;
-import java.net.URLClassLoader;
+
+import org.apache.hadoop.hive.ql.exec.UDFClassLoader;
 
 import lombok.EqualsAndHashCode;
 import lombok.Getter;
@@ -29,7 +30,7 @@ import lombok.extern.slf4j.Slf4j;
 
 @Slf4j
 @EqualsAndHashCode(callSuper = false)
-public class SessionClassLoader extends URLClassLoader {
+public class SessionClassLoader extends UDFClassLoader {
   @Getter
   @Setter
   private boolean closed;