Repository: lens
Updated Branches:
  refs/heads/master 66bd58e4c -> 210e31fc0


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/210e31fc
Tree: http://git-wip-us.apache.org/repos/asf/lens/tree/210e31fc
Diff: http://git-wip-us.apache.org/repos/asf/lens/diff/210e31fc

Branch: refs/heads/master
Commit: 210e31fc076a884b664dbbb87f8ab09fb481dc98
Parents: 66bd58e
Author: Amareshwari Sriramadasu <amareshw...@apache.org>
Authored: Fri Aug 19 12:37:02 2016 +0530
Committer: Amareshwari Sriramadasu <amareshw...@apache.org>
Committed: Fri Aug 19 12:37:02 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/210e31fc/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/210e31fc/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;

Reply via email to