Repository: lens
Updated Branches:
  refs/heads/master 1cff38768 -> cc1e1fced


LENS-1183: Optimize multiple acquire from same thread


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

Branch: refs/heads/master
Commit: cc1e1fced471ed86069c5c27ca12a3034d9247ac
Parents: 1cff387
Author: Rajat Khandelwal <pro...@apache.org>
Authored: Tue Jun 14 17:53:44 2016 +0530
Committer: Rajat Khandelwal <rajatgupt...@gmail.com>
Committed: Tue Jun 14 17:53:44 2016 +0530

----------------------------------------------------------------------
 .../org/apache/lens/server/session/LensSessionImpl.java  | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lens/blob/cc1e1fce/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 40124ee..e77c7fa 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
@@ -249,11 +249,12 @@ public class LensSessionImpl extends HiveSessionImpl {
   @Override
   public synchronized void acquire(boolean userAccess) {
     super.acquire(userAccess);
-    acquireCount.incrementAndGet();
-    // Update thread's class loader with current DBs class loader
-    ClassLoader classLoader = getClassLoader(getCurrentDatabase());
-    Thread.currentThread().setContextClassLoader(classLoader);
-    SessionState.getSessionConf().setClassLoader(classLoader);
+    if (acquireCount.incrementAndGet() == 1) { // first acquire
+      // Update thread's class loader with current DBs class loader
+      ClassLoader classLoader = getClassLoader(getCurrentDatabase());
+      Thread.currentThread().setContextClassLoader(classLoader);
+      SessionState.getSessionConf().setClassLoader(classLoader);
+    }
     setActive();
   }
 

Reply via email to