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;