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 <amareshw...@gmail.com> Authored: Mon May 23 14:50:16 2016 +0530 Committer: Puneet <puneet.gu...@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);