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/05/23 09:27:16 UTC

lens git commit: LENS-1140 : Fix loading jar in HDFS as a session jar with db resources available.

Repository: lens
Updated Branches:
  refs/heads/master 0455a5a3d -> bf4d540b4


LENS-1140 : Fix loading jar in HDFS as a session jar with db resources available.


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

Branch: refs/heads/master
Commit: bf4d540b40a1b6756c14e96565fd87d3c07d4e45
Parents: 0455a5a
Author: Amareshwari Sriramadasu <am...@gmail.com>
Authored: Mon May 23 14:50:16 2016 +0530
Committer: Puneet <pu...@inmobi.com>
Committed: Mon May 23 14:50:16 2016 +0530

----------------------------------------------------------------------
 .../lens/server/api/session/SessionService.java | 11 -----
 .../org/apache/lens/server/BaseLensService.java | 22 ---------
 .../server/query/QueryExecutionServiceImpl.java |  6 +--
 .../server/session/DatabaseResourceService.java | 19 +++++---
 .../lens/server/session/HiveSessionService.java | 48 ++++++++----------
 .../lens/server/session/LensSessionImpl.java    | 37 ++++++++------
 .../lens/server/session/SessionResource.java    | 51 ++++++++++----------
 .../apache/lens/server/TestServerRestart.java   |  4 +-
 .../lens/server/query/TestQueryService.java     |  9 ++--
 .../session/TestDatabaseResourceService.java    |  2 +-
 .../server/session/TestSessionClassLoaders.java |  1 -
 .../server/session/TestSessionResource.java     |  2 +-
 12 files changed, 91 insertions(+), 121 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lens/blob/bf4d540b/lens-server-api/src/main/java/org/apache/lens/server/api/session/SessionService.java
----------------------------------------------------------------------
diff --git a/lens-server-api/src/main/java/org/apache/lens/server/api/session/SessionService.java b/lens-server-api/src/main/java/org/apache/lens/server/api/session/SessionService.java
index 81160f5..027a32b 100644
--- a/lens-server-api/src/main/java/org/apache/lens/server/api/session/SessionService.java
+++ b/lens-server-api/src/main/java/org/apache/lens/server/api/session/SessionService.java
@@ -108,17 +108,6 @@ public interface SessionService {
   void setSessionParameter(LensSessionHandle sessionHandle, String key, String value);
 
   /**
-   * Adds the resource to all services.
-   *
-   * @param sessionHandle the sessionid
-   * @param type          the type
-   * @param path          the path
-   * @return the number of services that the resource has been added to
-   */
-
-  int addResourceToAllServices(LensSessionHandle sessionHandle, String type, String path);
-
-  /**
    * Lists resources from the session service
    *
    * @param sessionHandle the sessionid

http://git-wip-us.apache.org/repos/asf/lens/blob/bf4d540b/lens-server/src/main/java/org/apache/lens/server/BaseLensService.java
----------------------------------------------------------------------
diff --git a/lens-server/src/main/java/org/apache/lens/server/BaseLensService.java b/lens-server/src/main/java/org/apache/lens/server/BaseLensService.java
index 9f8ee72..76c8d16 100644
--- a/lens-server/src/main/java/org/apache/lens/server/BaseLensService.java
+++ b/lens-server/src/main/java/org/apache/lens/server/BaseLensService.java
@@ -404,28 +404,6 @@ public abstract class BaseLensService extends CompositeService implements Extern
   }
 
   /**
-   * Adds the resource.
-   *
-   * @param sessionHandle the session handle
-   * @param type          the type
-   * @param path          the path
-   * @throws LensException the lens exception
-   */
-  public void addResource(LensSessionHandle sessionHandle, String type, String path) throws LensException {
-  }
-
-  /**
-   * Delete resource.
-   *
-   * @param sessionHandle the session handle
-   * @param type          the type
-   * @param path          the path
-   * @throws LensException the lens exception
-   */
-  public void deleteResource(LensSessionHandle sessionHandle, String type, String path) throws LensException {
-  }
-
-  /**
    * Gets the hive session handle.
    *
    * @param lensHandle the lens handle

http://git-wip-us.apache.org/repos/asf/lens/blob/bf4d540b/lens-server/src/main/java/org/apache/lens/server/query/QueryExecutionServiceImpl.java
----------------------------------------------------------------------
diff --git a/lens-server/src/main/java/org/apache/lens/server/query/QueryExecutionServiceImpl.java b/lens-server/src/main/java/org/apache/lens/server/query/QueryExecutionServiceImpl.java
index c9f9b97..1b3a7c0 100644
--- a/lens-server/src/main/java/org/apache/lens/server/query/QueryExecutionServiceImpl.java
+++ b/lens-server/src/main/java/org/apache/lens/server/query/QueryExecutionServiceImpl.java
@@ -2963,7 +2963,7 @@ public class QueryExecutionServiceImpl extends BaseLensService implements QueryE
       if (resources != null && !resources.isEmpty()) {
         for (ResourceEntry resource : resources) {
           log.info("{} Restoring resource {} for session {}", hiveDriver, resource, lensSession);
-          String command = "add " + resource.getType().toLowerCase() + " " + resource.getLocation();
+          String command = "add " + resource.getType().toLowerCase() + " " + resource.getUri();
           try {
             // Execute add resource query in blocking mode
             hiveDriver.execute(createResourceQuery(command, sessionHandle, hiveDriver));
@@ -3060,7 +3060,7 @@ public class QueryExecutionServiceImpl extends BaseLensService implements QueryE
         addSingleResourceToHive(hiveDriver, res, sessionHandle);
       } catch (LensException exc) {
         failedResources.add(res);
-        log.error("Error adding resources for session {} resources: {}", sessionHandle, res.getLocation(), exc);
+        log.error("Error adding resources for session {} resources: {}", sessionHandle, res.getUri(), exc);
       }
     }
     return failedResources;
@@ -3069,7 +3069,7 @@ public class QueryExecutionServiceImpl extends BaseLensService implements QueryE
   private void addSingleResourceToHive(HiveDriver driver, ResourceEntry res,
     LensSessionHandle sessionHandle) throws LensException {
     String sessionIdentifier = sessionHandle.getPublicId().toString();
-    String uri = res.getLocation();
+    String uri = res.getUri();
     // Hive doesn't and URIs starting with file:/ correctly, so we have to change it to file:///
     // See: org.apache.hadoop.hive.ql.exec.Utilities.addToClassPath
     uri = removePrefixBeforeURI(uri);

http://git-wip-us.apache.org/repos/asf/lens/blob/bf4d540b/lens-server/src/main/java/org/apache/lens/server/session/DatabaseResourceService.java
----------------------------------------------------------------------
diff --git a/lens-server/src/main/java/org/apache/lens/server/session/DatabaseResourceService.java b/lens-server/src/main/java/org/apache/lens/server/session/DatabaseResourceService.java
index 72f5c53..1f63ed7 100644
--- a/lens-server/src/main/java/org/apache/lens/server/session/DatabaseResourceService.java
+++ b/lens-server/src/main/java/org/apache/lens/server/session/DatabaseResourceService.java
@@ -183,7 +183,7 @@ public class DatabaseResourceService extends AbstractService {
   }
 
   private void addResourceEntry(LensSessionImpl.ResourceEntry entry, String dbName) {
-    log.info("Adding resource entry {} for {}", entry.getLocation(), dbName);
+    log.info("Adding resource entry {} for {}", entry.getUri(), dbName);
     synchronized (dbResEntryMap) {
       List<LensSessionImpl.ResourceEntry> dbEntryList = dbResEntryMap.get(dbName);
       if (dbEntryList == null) {
@@ -219,11 +219,12 @@ public class DatabaseResourceService extends AbstractService {
    * Add a resource to the specified database. Update class loader of the database if required.
    * @param database database name
    * @param resources resources which need to be added to the database
-   * @param addToCache if set to true, update class loader of the database in the class loader cache
+   * @param useUri if set to true, use URI from resourceEntry to load in classLoader and update class loader of the
+   *               database in the class loader cache
    * @return class loader updated as a result of adding any JARs
    */
-  protected synchronized ClassLoader loadDBJars(String database, Collection<LensSessionImpl.ResourceEntry> resources,
-                                             boolean addToCache) {
+  private synchronized ClassLoader loadDBJars(String database, Collection<LensSessionImpl.ResourceEntry> resources,
+                                             boolean useUri) {
     ClassLoader classLoader = classLoaderCache.get(database);
     if (classLoader == null) {
       // No change since there are no static resources to be added
@@ -247,16 +248,20 @@ public class DatabaseResourceService extends AbstractService {
 
       for (LensSessionImpl.ResourceEntry res : resources) {
         try {
-          newUrls.add(new URL(res.getLocation()));
+          if (useUri) {
+            newUrls.add(new URL(res.getUri()));
+          } else {
+            newUrls.add(new URL(res.getLocation()));
+          }
         } catch (MalformedURLException e) {
           incrCounter(LOAD_RESOURCES_ERRORS);
-          log.error("Invalid URL {} adding to db {}", res.getLocation(), database, e);
+          log.error("Invalid URL {} with location: {} adding to db {}", res.getUri(), res.getLocation(), database, e);
         }
       }
 
       URLClassLoader newClassLoader = new URLClassLoader(newUrls.toArray(new URL[newUrls.size()]),
         DatabaseResourceService.class.getClassLoader());
-      if (addToCache) {
+      if (useUri) {
         classLoaderCache.put(database, newClassLoader);
       }
 

http://git-wip-us.apache.org/repos/asf/lens/blob/bf4d540b/lens-server/src/main/java/org/apache/lens/server/session/HiveSessionService.java
----------------------------------------------------------------------
diff --git a/lens-server/src/main/java/org/apache/lens/server/session/HiveSessionService.java b/lens-server/src/main/java/org/apache/lens/server/session/HiveSessionService.java
index 97d5f16..6c5e52d 100644
--- a/lens-server/src/main/java/org/apache/lens/server/session/HiveSessionService.java
+++ b/lens-server/src/main/java/org/apache/lens/server/session/HiveSessionService.java
@@ -91,29 +91,6 @@ public class HiveSessionService extends BaseLensService implements SessionServic
     super(NAME, cliService);
   }
 
-  /**
-   * {@inheritDoc}
-   */
-  @Override
-  public int addResourceToAllServices(LensSessionHandle sessionid, String type, String path) {
-    int numAdded = 0;
-    boolean error = false;
-    for (BaseLensService service : LensServices.get().getLensServices()) {
-      try {
-        service.addResource(sessionid, type, path);
-        numAdded++;
-      } catch (LensException e) {
-        log.error("Failed to add resource type:" + type + " path:" + path + " in service:" + service, e);
-        error = true;
-        break;
-      }
-    }
-    if (!error) {
-      getSession(sessionid).addResource(type, path);
-    }
-    return numAdded;
-  }
-
   @Override
   public List<String> listAllResources(LensSessionHandle sessionHandle, String type) {
     if (!isValidResouceType(type)) {
@@ -138,17 +115,32 @@ public class HiveSessionService extends BaseLensService implements SessionServic
    */
   @Override
   public void addResource(LensSessionHandle sessionid, String type, String path) {
-    String command = "add " + type.toLowerCase() + " " + path;
     try {
       acquire(sessionid);
-      closeCliServiceOp(getCliService().executeStatement(getHiveSessionHandle(sessionid), command, null));
-    } catch (HiveSQLException e) {
+      SessionState ss = getSession(sessionid).getSessionState();
+      String finalLocation = ss.add_resource(SessionState.ResourceType.valueOf(type.toUpperCase()), path);
+      getSession(sessionid).addResource(type, path, finalLocation);
+    } catch (RuntimeException e) {
+      log.error("Failed to add resource type:" + type + " path:" + path + " in session", e);
       throw new WebApplicationException(e);
     } finally {
       release(sessionid);
     }
   }
 
+  private void addResourceUponRestart(LensSessionHandle sessionid, ResourceEntry resourceEntry) {
+    try {
+      acquire(sessionid);
+      SessionState ss = getSession(sessionid).getSessionState();
+      resourceEntry.location = ss.add_resource(SessionState.ResourceType.valueOf(resourceEntry.getType()),
+        resourceEntry.getUri());
+      if (resourceEntry.location == null) {
+        throw new NullPointerException("Resource's final location cannot be null");
+      }
+    } finally {
+      release(sessionid);
+    }
+  }
   /**
    * {@inheritDoc}
    */
@@ -241,7 +233,7 @@ public class HiveSessionService extends BaseLensService implements SessionServic
     if (auxJars != null) {
       for (String jar : auxJars) {
         log.info("Adding aux jar:" + jar);
-        addResourceToAllServices(sessionid, "jar", jar);
+        addResource(sessionid, "jar", jar);
       }
     }
     return sessionid;
@@ -388,7 +380,7 @@ public class HiveSessionService extends BaseLensService implements SessionServic
         // Add resources for restored sessions
         for (LensSessionImpl.ResourceEntry resourceEntry : session.getResources()) {
           try {
-            addResource(sessionHandle, resourceEntry.getType(), resourceEntry.getLocation());
+            addResourceUponRestart(sessionHandle, resourceEntry);
           } catch (Exception e) {
             log.error("Failed to restore resource for session: " + session + " resource: " + resourceEntry, e);
           }

http://git-wip-us.apache.org/repos/asf/lens/blob/bf4d540b/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 88406c5..82a4e15 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
@@ -272,7 +272,7 @@ public class LensSessionImpl extends HiveSessionImpl {
     Iterator<ResourceEntry> itr = persistInfo.getResources().iterator();
     while (itr.hasNext()) {
       ResourceEntry res = itr.next();
-      if (res.getType().equals(type) && res.getLocation().equals(path)) {
+      if (res.getType().equalsIgnoreCase(type) && res.getUri().equals(path)) {
         itr.remove();
       }
     }
@@ -284,9 +284,10 @@ public class LensSessionImpl extends HiveSessionImpl {
    *
    * @param type the type
    * @param path the path
+   * @param finalLocation The final location where resources is downloaded
    */
-  public void addResource(String type, String path) {
-    ResourceEntry resource = new ResourceEntry(type, path);
+  public void addResource(String type, String path, String finalLocation) {
+    ResourceEntry resource = new ResourceEntry(type, path, finalLocation);
     persistInfo.getResources().add(resource);
     synchronized (sessionDbClassLoaders) {
       // Update all DB class loaders
@@ -439,27 +440,35 @@ public class LensSessionImpl extends HiveSessionImpl {
     @Getter
     final String type;
 
-    /** The location. */
     @Getter
-    final String location;
+    final String uri;
+
+    /** The final location. */
+    @Getter
+    String location;
     // For tests
     /** The restore count. */
     transient AtomicInteger restoreCount = new AtomicInteger();
 
     /** Set of databases for which this resource has been added */
-    final transient Set<String> databases = new HashSet<String>();
+    final transient Set<String> databases = new HashSet<>();
 
     /**
      * Instantiates a new resource entry.
      *
      * @param type     the type
-     * @param location the location
+     * @param uri the uri of resource
      */
-    public ResourceEntry(String type, String location) {
-      if (type == null || location == null) {
-        throw new NullPointerException("ResourceEntry type or location cannot be null");
+    public ResourceEntry(String type, String uri) {
+      this(type, uri, uri);
+    }
+
+    public ResourceEntry(String type, String uri, String location) {
+      if (type == null || uri == null || location == null) {
+        throw new NullPointerException("ResourceEntry type or uri or location cannot be null");
       }
-      this.type = type;
+      this.type = type.toUpperCase();
+      this.uri = uri;
       this.location = location;
     }
 
@@ -557,7 +566,7 @@ public class LensSessionImpl extends HiveSessionImpl {
       out.writeInt(resources.size());
       for (ResourceEntry resource : resources) {
         out.writeUTF(resource.getType());
-        out.writeUTF(resource.getLocation());
+        out.writeUTF(resource.getUri());
       }
 
       out.writeInt(config.size());
@@ -584,8 +593,8 @@ public class LensSessionImpl extends HiveSessionImpl {
       resources.clear();
       for (int i = 0; i < resSize; i++) {
         String type = in.readUTF();
-        String location = in.readUTF();
-        resources.add(new ResourceEntry(type, location));
+        String uri = in.readUTF();
+        resources.add(new ResourceEntry(type, uri));
       }
 
       config.clear();

http://git-wip-us.apache.org/repos/asf/lens/blob/bf4d540b/lens-server/src/main/java/org/apache/lens/server/session/SessionResource.java
----------------------------------------------------------------------
diff --git a/lens-server/src/main/java/org/apache/lens/server/session/SessionResource.java b/lens-server/src/main/java/org/apache/lens/server/session/SessionResource.java
index a74c8cd..fdfd09c 100644
--- a/lens-server/src/main/java/org/apache/lens/server/session/SessionResource.java
+++ b/lens-server/src/main/java/org/apache/lens/server/session/SessionResource.java
@@ -30,7 +30,6 @@ import org.apache.lens.api.APIResult.Status;
 import org.apache.lens.api.LensConf;
 import org.apache.lens.api.LensSessionHandle;
 import org.apache.lens.api.StringList;
-import org.apache.lens.server.BaseLensService;
 import org.apache.lens.server.LensServices;
 import org.apache.lens.server.api.error.LensException;
 import org.apache.lens.server.api.session.SessionService;
@@ -137,21 +136,23 @@ public class SessionResource {
   public APIResult addResource(@FormDataParam("sessionid") LensSessionHandle sessionid,
     @FormDataParam("type") String type, @FormDataParam("path") String path) {
     ScannedPaths scannedPaths = new ScannedPaths(path, type);
-    int matchedPathsCount = 0;
 
     int numAdded = 0;
     for (String matchedPath : scannedPaths) {
-      if (matchedPath.startsWith("file:") && !matchedPath.startsWith("file://")) {
-        matchedPath = "file://" + matchedPath.substring("file:".length());
+      try {
+        if (matchedPath.startsWith("file:") && !matchedPath.startsWith("file://")) {
+          matchedPath = "file://" + matchedPath.substring("file:".length());
+        }
+        sessionService.addResource(sessionid, type, matchedPath);
+        numAdded++;
+      } catch (Exception e) {
+        log.error("Failed to add resource {} ", matchedPath, e);
+        if (numAdded != 0) {
+          return new APIResult(Status.PARTIAL, "Add resource is partial");
+        } else {
+          return new APIResult(Status.FAILED, "Add resource has failed");
+        }
       }
-      numAdded += sessionService.addResourceToAllServices(sessionid, type, matchedPath);
-      matchedPathsCount++;
-    }
-
-    if (numAdded == 0) {
-      return new APIResult(Status.FAILED, "Add resource has failed");
-    } else if ((numAdded / matchedPathsCount) != LensServices.get().getLensServices().size()) {
-      return new APIResult(Status.PARTIAL, "Add resource is partial");
     }
     return new APIResult(Status.SUCCEEDED, "Add resource succeeded");
   }
@@ -198,20 +199,18 @@ public class SessionResource {
     int numDeleted = 0;
 
     for(String matchedPath : scannedPaths) {
-      for (BaseLensService service : LensServices.get().getLensServices()) {
-        try {
-          if (matchedPath.startsWith("file:") && !matchedPath.startsWith("file://")) {
-            matchedPath = "file://" + matchedPath.substring("file:".length());
-          }
-          service.deleteResource(sessionid, type, matchedPath);
-          numDeleted++;
-        } catch (LensException e) {
-          log.error("Failed to delete resource in service:{}", service, e);
-          if (numDeleted != 0) {
-            return new APIResult(Status.PARTIAL, "Delete resource is partial, failed for service:" + service.getName());
-          } else {
-            return new APIResult(Status.FAILED, "Delete resource has failed");
-          }
+      try {
+        if (matchedPath.startsWith("file:") && !matchedPath.startsWith("file://")) {
+          matchedPath = "file://" + matchedPath.substring("file:".length());
+        }
+        sessionService.deleteResource(sessionid, type, matchedPath);
+        numDeleted++;
+      } catch (Exception e) {
+        log.error("Failed to delete resource {} ", matchedPath, e);
+        if (numDeleted != 0) {
+          return new APIResult(Status.PARTIAL, "Delete resource is partial");
+        } else {
+          return new APIResult(Status.FAILED, "Delete resource has failed");
         }
       }
     }

http://git-wip-us.apache.org/repos/asf/lens/blob/bf4d540b/lens-server/src/test/java/org/apache/lens/server/TestServerRestart.java
----------------------------------------------------------------------
diff --git a/lens-server/src/test/java/org/apache/lens/server/TestServerRestart.java b/lens-server/src/test/java/org/apache/lens/server/TestServerRestart.java
index b519426..f3d72f4 100644
--- a/lens-server/src/test/java/org/apache/lens/server/TestServerRestart.java
+++ b/lens-server/src/test/java/org/apache/lens/server/TestServerRestart.java
@@ -296,7 +296,6 @@ public class TestServerRestart extends LensAllApplicationJerseyTest {
     Assert.assertTrue(sessionService.getHealthStatus().isHealthy());
 
     sessionService.addResource(lensSessionId, "FILE", dataFile.toURI().toString());
-    queryService.getSession(lensSessionId).addResource("FILE", dataFile.toURI().toString());
     log.info("@@ Added resource {}", dataFile.toURI());
 
     // Create a test table
@@ -470,7 +469,8 @@ public class TestServerRestart extends LensAllApplicationJerseyTest {
     LensSessionImpl session = sessionService.getSession(restartTestSession);
     assertEquals(session.getLensSessionPersistInfo().getResources().size(), 1);
     LensSessionImpl.ResourceEntry resourceEntry = session.getLensSessionPersistInfo().getResources().get(0);
-    assertEquals(resourceEntry.getType(), "file");
+    assertEquals(resourceEntry.getType(), "FILE");
+    Assert.assertTrue(resourceEntry.getUri().contains("target/test-classes/lens-site.xml"));
     Assert.assertTrue(resourceEntry.getLocation().contains("target/test-classes/lens-site.xml"));
 
     // close session

http://git-wip-us.apache.org/repos/asf/lens/blob/bf4d540b/lens-server/src/test/java/org/apache/lens/server/query/TestQueryService.java
----------------------------------------------------------------------
diff --git a/lens-server/src/test/java/org/apache/lens/server/query/TestQueryService.java b/lens-server/src/test/java/org/apache/lens/server/query/TestQueryService.java
index 797886d..b6ec422 100644
--- a/lens-server/src/test/java/org/apache/lens/server/query/TestQueryService.java
+++ b/lens-server/src/test/java/org/apache/lens/server/query/TestQueryService.java
@@ -1297,7 +1297,7 @@ public class TestQueryService extends LensJerseyTest {
   public void testAutoCancelOnTimeOut() throws Exception {
     queryService.pauseQuerySubmitter(true);
     //First query will not be queued. @see QueryExecutionServiceImpl.QuerySubmitter.run
-    queryService.executeAsync(lensSessionId, "select 1 from "+TEST_TABLE, new LensConf(), "dummyQuery");
+    queryService.executeAsync(lensSessionId, "select 1 from " + TEST_TABLE, new LensConf(), "dummyQuery");
 
     //Second query after pause will be queued
     QueryHandleWithResultSet result = queryService.execute(lensSessionId, "select ID, IDSTR from "+ TEST_TABLE, 100,
@@ -1331,7 +1331,7 @@ public class TestQueryService extends LensJerseyTest {
     }
   }
   /**
-   * Data provider for test case {@link #testExecuteWithTimeoutAndPreFetechAndServerPersistence()}
+   * Data provider for test case {@link testExecuteWithTimeoutAndPreFetchAndServerPersistence}
    * @return
    */
   @DataProvider
@@ -1349,13 +1349,12 @@ public class TestQueryService extends LensJerseyTest {
    * @param timeOutMillis : wait time for execute with timeout api
    * @param preFetchRows : number of rows to pre-fetch in case of InMemoryResultSet
    * @param isStreamingResultAvailable : whether the execute call is expected to return InMemoryQueryResult
-   * @param ttlMillis : The time window for which pre-fetched InMemoryResultSet will be available for sure.
    * @param deferPersistenceByMillis : The time in millis by which Result formatter will be deferred by.
    * @throws IOException
    * @throws InterruptedException
    */
   @Test(dataProvider = "executeWithTimeoutAndPreFetechAndServerPersistenceDP")
-  public void testExecuteWithTimeoutAndPreFetechAndServerPersistence(long timeOutMillis, int preFetchRows,
+  public void testExecuteWithTimeoutAndPreFetchAndServerPersistence(long timeOutMillis, int preFetchRows,
       boolean isStreamingResultAvailable, long deferPersistenceByMillis) throws Exception {
     final WebTarget target = target().path("queryapi/queries");
 
@@ -1588,7 +1587,7 @@ public class TestQueryService extends LensJerseyTest {
 
     // Add a jar in the session
     File testJarFile = new File("target/testjars/test2.jar");
-    sessionService.addResourceToAllServices(sessionHandle, "jar", "file://" + testJarFile.getAbsolutePath());
+    sessionService.addResource(sessionHandle, "jar", "file://" + testJarFile.getAbsolutePath());
 
     log.info("@@@ Opened session " + sessionHandle.getPublicId() + " with database " + DB_WITH_JARS);
     LensSessionImpl session = sessionService.getSession(sessionHandle);

http://git-wip-us.apache.org/repos/asf/lens/blob/bf4d540b/lens-server/src/test/java/org/apache/lens/server/session/TestDatabaseResourceService.java
----------------------------------------------------------------------
diff --git a/lens-server/src/test/java/org/apache/lens/server/session/TestDatabaseResourceService.java b/lens-server/src/test/java/org/apache/lens/server/session/TestDatabaseResourceService.java
index 1008faf..2bc3712 100644
--- a/lens-server/src/test/java/org/apache/lens/server/session/TestDatabaseResourceService.java
+++ b/lens-server/src/test/java/org/apache/lens/server/session/TestDatabaseResourceService.java
@@ -109,7 +109,7 @@ public class TestDatabaseResourceService {
     List<String> actualOrderList = new ArrayList<String>();
 
     for (LensSessionImpl.ResourceEntry res : actualOrder) {
-      actualOrderList.add(res.getLocation());
+      actualOrderList.add(res.getUri());
     }
 
     String[] expectedOrderArr = {

http://git-wip-us.apache.org/repos/asf/lens/blob/bf4d540b/lens-server/src/test/java/org/apache/lens/server/session/TestSessionClassLoaders.java
----------------------------------------------------------------------
diff --git a/lens-server/src/test/java/org/apache/lens/server/session/TestSessionClassLoaders.java b/lens-server/src/test/java/org/apache/lens/server/session/TestSessionClassLoaders.java
index de03da1..eeb97f2 100644
--- a/lens-server/src/test/java/org/apache/lens/server/session/TestSessionClassLoaders.java
+++ b/lens-server/src/test/java/org/apache/lens/server/session/TestSessionClassLoaders.java
@@ -160,7 +160,6 @@ public class TestSessionClassLoaders {
 
     session.setCurrentDatabase("default");
     sessionService.addResource(sessionHandle, "jar", sessionJarLocation);
-    session.addResource("jar", sessionJarLocation);
     session.setCurrentDatabase("default");
 
     boolean loadedSessionClass = false;

http://git-wip-us.apache.org/repos/asf/lens/blob/bf4d540b/lens-server/src/test/java/org/apache/lens/server/session/TestSessionResource.java
----------------------------------------------------------------------
diff --git a/lens-server/src/test/java/org/apache/lens/server/session/TestSessionResource.java b/lens-server/src/test/java/org/apache/lens/server/session/TestSessionResource.java
index 685ad85..ed463a9 100644
--- a/lens-server/src/test/java/org/apache/lens/server/session/TestSessionResource.java
+++ b/lens-server/src/test/java/org/apache/lens/server/session/TestSessionResource.java
@@ -302,7 +302,7 @@ public class TestSessionResource extends LensJerseyTest {
     StringList listResourcesAfterDeletion = resourcetarget.path("list").queryParam("sessionid", handle)
       .request(mt).get(StringList.class);
     Assert.assertTrue(listResourcesAfterDeletion.getElements() == null
-      || listResourcesAfterDeletion.getElements().isEmpty());
+      || listResourcesAfterDeletion.getElements().isEmpty(), " Found :" + listResourcesAfterDeletion.getElements());
 
     // close session
     result = target.queryParam("sessionid", handle).request(mt).delete(APIResult.class);