You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lens.apache.org by pr...@apache.org on 2016/07/27 09:32:38 UTC
lens git commit: LENS-1239 : Fix test failures because of restarts in
test cases
Repository: lens
Updated Branches:
refs/heads/master 0debd08ca -> fc3dc04ac
LENS-1239 : Fix test failures because of restarts in test cases
Project: http://git-wip-us.apache.org/repos/asf/lens/repo
Commit: http://git-wip-us.apache.org/repos/asf/lens/commit/fc3dc04a
Tree: http://git-wip-us.apache.org/repos/asf/lens/tree/fc3dc04a
Diff: http://git-wip-us.apache.org/repos/asf/lens/diff/fc3dc04a
Branch: refs/heads/master
Commit: fc3dc04acc1aff1154745fa5132cb975ac5fabb8
Parents: 0debd08
Author: Amareshwari Sriramadasu <am...@gmail.com>
Authored: Wed Jul 27 15:02:14 2016 +0530
Committer: Rajat Khandelwal <ra...@gmail.com>
Committed: Wed Jul 27 15:02:14 2016 +0530
----------------------------------------------------------------------
.../org/apache/lens/client/TestLensClient.java | 11 +-
lens-client/src/test/resources/lens-site.xml | 207 +++++++++++++++++++
.../server/query/QueryExecutionServiceImpl.java | 9 +-
.../org/apache/lens/server/LensJerseyTest.java | 13 +-
.../apache/lens/server/LensServerTestUtil.java | 41 +++-
.../apache/lens/server/TestServerRestart.java | 45 +++-
.../lens/server/query/TestDuplicateQueries.java | 4 +-
.../lens/server/query/TestQueryConstraints.java | 4 +-
.../TestQueryIndependenceFromSessionClose.java | 11 +-
.../server/session/TestSessionResource.java | 57 -----
10 files changed, 319 insertions(+), 83 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lens/blob/fc3dc04a/lens-client/src/test/java/org/apache/lens/client/TestLensClient.java
----------------------------------------------------------------------
diff --git a/lens-client/src/test/java/org/apache/lens/client/TestLensClient.java b/lens-client/src/test/java/org/apache/lens/client/TestLensClient.java
index c3f01d5..94a788a 100644
--- a/lens-client/src/test/java/org/apache/lens/client/TestLensClient.java
+++ b/lens-client/src/test/java/org/apache/lens/client/TestLensClient.java
@@ -39,7 +39,6 @@ import org.apache.lens.client.exceptions.LensAPIException;
import org.apache.lens.client.exceptions.LensClientIOException;
import org.apache.lens.client.resultset.ResultSet;
import org.apache.lens.server.LensAllApplicationJerseyTest;
-import org.apache.lens.server.api.util.LensUtil;
import org.testng.Assert;
import org.testng.annotations.*;
@@ -59,12 +58,6 @@ public class TestLensClient extends LensAllApplicationJerseyTest {
return UriBuilder.fromUri("http://localhost/").port(getTestPort()).path("/lensapi").build();
}
- @Override
- public Map<String, String> getServerConfOverWrites() {
- return LensUtil.getHashMap("lens.server.query.service.impl",
- "org.apache.lens.server.MockQueryExecutionServiceImpl");
- }
-
@BeforeTest
public void setUp() throws Exception {
super.setUp();
@@ -276,10 +269,10 @@ public class TestLensClient extends LensAllApplicationJerseyTest {
@Test
public void testWaitForQueryToCompleteWithAndWithoutRetryOnTimeOut() throws LensAPIException {
LensClientConfig config = createLensClientConfigWithServerUrl();
+ config.set(ENABLE_SLEEP_FOR_GET_QUERY_OP, "true");
+ config.setInt(LensClientConfig.READ_TIMEOUT_MILLIS, 3000);
try (LensClient lensClient = new LensClient(config)) {
- config.setInt(LensClientConfig.READ_TIMEOUT_MILLIS, 3000);
assertTrue(lensClient.setDatabase(TEST_DB));
- lensClient.setConnectionParam(ENABLE_SLEEP_FOR_GET_QUERY_OP, "true");
//Test waitForQueryToComplete without retry on timeout
QueryHandle handle = lensClient.executeQueryAsynch("cube select id,name from test_dim", "test3");
http://git-wip-us.apache.org/repos/asf/lens/blob/fc3dc04a/lens-client/src/test/resources/lens-site.xml
----------------------------------------------------------------------
diff --git a/lens-client/src/test/resources/lens-site.xml b/lens-client/src/test/resources/lens-site.xml
new file mode 100644
index 0000000..7fe65c0
--- /dev/null
+++ b/lens-client/src/test/resources/lens-site.xml
@@ -0,0 +1,207 @@
+<?xml version="1.0"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
+
+<configuration>
+ <property>
+ <name>lens.server.drivers</name>
+ <value>hive:org.apache.lens.driver.hive.HiveDriver,jdbc:org.apache.lens.driver.jdbc.JDBCDriver,
+ mock:org.apache.lens.server.common.FailingQueryDriver</value> <!--$LENS_CONF/drivers-->
+ </property>
+
+ <property>
+ <name>lens.server.query.acceptors</name>
+ <value>org.apache.lens.server.query.BlahQueryAcceptor</value>
+ <description>Query Acceptors configured</description>
+ </property>
+
+ <property>
+ <name>test.lens.site.key</name>
+ <value>gsvalue</value>
+ </property>
+
+ <property>
+ <name>lens.server.enable.console.metrics</name>
+ <value>true</value>
+ <description>Enable metrics to be reported on console</description>
+ </property>
+
+ <property>
+ <name>lens.server.persist.location</name>
+ <value>target/persist-dir</value>
+ </property>
+
+ <property>
+ <name>lens.query.result.parent.dir</name>
+ <value>target/lens-results</value>
+ </property>
+
+ <property>
+ <name>hive.server2.authentication</name>
+ <value>CUSTOM</value>
+ </property>
+
+ <property>
+ <name>hive.server2.custom.authentication.class</name>
+ <value>org.apache.lens.server.auth.FooBarAuthenticationProvider</value>
+ </property>
+
+
+ <property>
+ <name>lens.query.enable.mail.notify</name>
+ <value>false</value>
+ <description>When a query ends, whether to notify the submitter by mail or not.</description>
+ </property>
+
+ <property>
+ <name>lens.server.mail.from.address</name>
+ <value>blah@company.com</value>
+ <description>The from field in the notifier mail to the submitter.</description>
+ </property>
+
+ <property>
+ <name>lens.server.mail.host</name>
+ <value>localhost</value>
+ <description>SMTP Host for sending mail</description>
+ </property>
+
+ <property>
+ <name>lens.server.mail.port</name>
+ <value>25000</value>
+ <description>SMTP Port</description>
+ </property>
+
+ <property>
+ <name>lens.server.ws.resourcenames</name>
+ <value>session,metastore,query,quota,scheduler,index,log,test,savedquery</value>
+ <description>These JAX-RS resources would be started in the specified order when lens-server starts up</description>
+ </property>
+
+ <property>
+ <name>lens.server.test.ws.resource.impl</name>
+ <value>org.apache.lens.server.TestResource</value>
+ <description>Implementation class for Test Resource</description>
+ </property>
+
+ <property>
+ <name>lens.server.savedquery.ws.resource.impl</name>
+ <value>org.apache.lens.server.query.save.SavedQueryResource</value>
+ <description>Implementation class for saved query Resource</description>
+ </property>
+
+ <property>
+ <name>lens.server.user.resolver.type</name>
+ <value>FIXED</value>
+ </property>
+ <property>
+ <name>lens.server.user.resolver.fixed.value</name>
+ <value>testlensuser</value>
+ </property>
+ <property>
+ <name>lens.server.domain</name>
+ <value>localhost</value>
+ </property>
+
+ <property>
+ <!-- run every second -->
+ <name>lens.server.querypurger.sleep.interval</name>
+ <value>100</value>
+ </property>
+
+ <property>
+ <name>lens.server.db.jdbc.url</name>
+ <value>jdbc:hsqldb:target/queries.db</value>
+ </property>
+
+ <property>
+ <name>lens.server.savedquery.jdbc.dialectclass</name>
+ <value>org.apache.lens.server.query.save.SavedQueryDao$HSQLDialect</value>
+ <description>Dialect of the target DB, Default is HSQL</description>
+ </property>
+
+ <property>
+ <name>lens.server.servicenames</name>
+ <value>session,query,metastore,scheduler,quota,mocknonlens,savedquery</value>
+ </property>
+
+ <property>
+ <name>lens.server.mocknonlens.service.impl</name>
+ <value>org.apache.lens.server.MockNonLensService</value>
+ <description>Implementation class for session service</description>
+ </property>
+
+ <property>
+ <name>lens.server.query.service.impl</name>
+ <value>org.apache.lens.server.MockQueryExecutionServiceImpl</value>
+ <description>Mock Implementation class for query service</description>
+ </property>
+
+ <property>
+ <name>lens.server.savedquery.service.impl</name>
+ <value>org.apache.lens.server.query.save.SavedQueryServiceImpl</value>
+ <description>Implementation class for saved query service</description>
+ </property>
+
+ <property>
+ <name>lens.server.ws.filternames</name>
+ <value>requestlogger,consistentState,serverMode,logging</value>
+ <description>These JAX-RS filters would be started in the specified order when lens-server starts up</description>
+ </property>
+
+ <property>
+ <name>lens.server.logging.ws.filter.impl</name>
+ <value>org.glassfish.jersey.filter.LoggingFilter</value>
+ <description>Logging filter</description>
+ </property>
+
+ <property>
+ <name>lens.server.database.resource.dir</name>
+ <value>target/resources</value>
+ </property>
+
+ <property>
+ <name>lens.server.statistics.warehouse.dir</name>
+ <value>file://${project.build.directory}/lens/statistics/warehouse</value>
+ <description>Default top level location where stats are moved by the log statistics store.</description>
+ </property>
+
+ <property>
+ <name>lens.server.estimate.timeout.millis</name>
+ <value>120000</value>
+ </property>
+ <property>
+ <name>lens.server.max.sessions.per.user</name>
+ <value>20</value>
+ <description>Number of sessions can be allowed for each user.</description>
+ </property>
+ <property>
+ <name>lens.server.status.update.exponential.wait.millis</name>
+ <value>1000</value>
+ <description>Number of millis that would grow exponentially for next update, incase of transient failures.
+ </description>
+ </property>
+ <property>
+ <name>lens.server.duplicate.query.allowed</name>
+ <value>true</value>
+ </property>
+
+</configuration>
http://git-wip-us.apache.org/repos/asf/lens/blob/fc3dc04a/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 4df2b9b..fddd3e4 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
@@ -2839,8 +2839,13 @@ public class QueryExecutionServiceImpl extends BaseLensService implements QueryE
// query service will do the selection from existing drivers and update
if (driverAvailable) {
String selectedDriverQualifiedName = in.readUTF();
- ctx.getDriverContext().setSelectedDriver(drivers.get(selectedDriverQualifiedName));
- ctx.setDriverQuery(ctx.getSelectedDriver(), ctx.getSelectedDriverQuery());
+ if (drivers.get(selectedDriverQualifiedName) != null) {
+ ctx.getDriverContext().setSelectedDriver(drivers.get(selectedDriverQualifiedName));
+ ctx.setDriverQuery(ctx.getSelectedDriver(), ctx.getSelectedDriverQuery());
+ } else {
+ log.info("Ignoring {} as the driver is not loaded", ctx.getQueryHandle());
+ continue;
+ }
}
allQueries.put(ctx.getQueryHandle(), ctx);
}
http://git-wip-us.apache.org/repos/asf/lens/blob/fc3dc04a/lens-server/src/test/java/org/apache/lens/server/LensJerseyTest.java
----------------------------------------------------------------------
diff --git a/lens-server/src/test/java/org/apache/lens/server/LensJerseyTest.java b/lens-server/src/test/java/org/apache/lens/server/LensJerseyTest.java
index a55552e..7cccf30 100644
--- a/lens-server/src/test/java/org/apache/lens/server/LensJerseyTest.java
+++ b/lens-server/src/test/java/org/apache/lens/server/LensJerseyTest.java
@@ -128,6 +128,10 @@ public abstract class LensJerseyTest extends JerseyTest {
config.register(LensJAXBContextResolver.class);
}
+ /**
+ * This should used only on restarts and not during initial setup.
+ * @return Modified Server conf with over-writes
+ */
public final HiveConf getServerConf() {
HiveConf serverConf = LensServerConf.getHiveConf();
Map<String, String> overWrites = getServerConfOverWrites();
@@ -164,7 +168,7 @@ public abstract class LensJerseyTest extends JerseyTest {
createTestDatabaseResources(new String[]{DB_WITH_JARS, DB_WITH_JARS_2},
hiveConf);
- LensServices.get().init(getServerConf());
+ LensServices.get().init(LensServerConf.getHiveConf());
LensServices.get().start();
// Check if mock service is started
@@ -226,8 +230,11 @@ public abstract class LensJerseyTest extends JerseyTest {
* Restart lens server.
*/
protected void restartLensServer() {
- HiveConf h = getServerConf();
- restartLensServer(h, false);
+ restartLensServer(LensServerConf.getHiveConf());
+ }
+
+ protected void restartLensServer(HiveConf conf) {
+ restartLensServer(conf, false);
}
/**
http://git-wip-us.apache.org/repos/asf/lens/blob/fc3dc04a/lens-server/src/test/java/org/apache/lens/server/LensServerTestUtil.java
----------------------------------------------------------------------
diff --git a/lens-server/src/test/java/org/apache/lens/server/LensServerTestUtil.java b/lens-server/src/test/java/org/apache/lens/server/LensServerTestUtil.java
index b651b79..67cee57 100644
--- a/lens-server/src/test/java/org/apache/lens/server/LensServerTestUtil.java
+++ b/lens-server/src/test/java/org/apache/lens/server/LensServerTestUtil.java
@@ -30,6 +30,7 @@ import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.GenericType;
import javax.ws.rs.core.MediaType;
+import org.apache.lens.api.APIResult;
import org.apache.lens.api.LensConf;
import org.apache.lens.api.LensSessionHandle;
import org.apache.lens.api.query.LensQuery;
@@ -136,7 +137,8 @@ public final class LensServerTestUtil {
mt));
final QueryHandle handle = target.request(mt).post(Entity.entity(mp, MediaType.MULTIPART_FORM_DATA_TYPE),
- new GenericType<LensAPIResult<QueryHandle>>() {}).getData();
+ new GenericType<LensAPIResult<QueryHandle>>() {
+ }).getData();
// wait till the query finishes
LensQuery ctx = target.path(handle.toString()).queryParam("sessionid", lensSessionId).request(mt)
@@ -302,4 +304,41 @@ public final class LensServerTestUtil {
}
}
}
+
+
+ public static LensSessionHandle openSession(WebTarget target, final String userName, final String passwd, final
+ LensConf
+ conf, MediaType
+ mt) {
+
+ final WebTarget sessionTarget = target.path("session");
+ final FormDataMultiPart mp = new FormDataMultiPart();
+
+ mp.bodyPart(new FormDataBodyPart(FormDataContentDisposition.name("username").build(), userName));
+ mp.bodyPart(new FormDataBodyPart(FormDataContentDisposition.name("password").build(), passwd));
+ mp.bodyPart(new FormDataBodyPart(FormDataContentDisposition.name("sessionconf").fileName("sessionconf").build(),
+ conf, mt));
+
+ return sessionTarget.request(mt).post(Entity.entity(mp, MediaType.MULTIPART_FORM_DATA_TYPE),
+ LensSessionHandle.class);
+
+ }
+
+ public static void addResource(WebTarget target, final LensSessionHandle lensSessionHandle, final String
+ resourceType, final String resourcePath, MediaType mt) {
+ final WebTarget resourceTarget = target.path("session/resources");
+ final FormDataMultiPart mp = new FormDataMultiPart();
+ mp.bodyPart(new FormDataBodyPart(FormDataContentDisposition.name("sessionid").build(), lensSessionHandle,
+ mt));
+ mp.bodyPart(new FormDataBodyPart(FormDataContentDisposition.name("type").build(), resourceType));
+ mp.bodyPart(
+ new FormDataBodyPart(FormDataContentDisposition.name("path").build(), resourcePath));
+ APIResult result = resourceTarget.path("add").request(mt)
+ .put(Entity.entity(mp, MediaType.MULTIPART_FORM_DATA_TYPE), APIResult.class);
+
+ if (!result.getStatus().equals(APIResult.Status.SUCCEEDED)) {
+ throw new RuntimeException("Could not add resource:" + result);
+ }
+ }
+
}
http://git-wip-us.apache.org/repos/asf/lens/blob/fc3dc04a/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 bb57614..20aa8cb 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
@@ -44,12 +44,15 @@ import org.apache.lens.server.api.query.QueryContext;
import org.apache.lens.server.api.query.QueryExecutionService;
import org.apache.lens.server.api.session.SessionService;
import org.apache.lens.server.api.util.LensUtil;
+import org.apache.lens.server.common.LenServerTestException;
+import org.apache.lens.server.common.LensServerTestFileUtils;
import org.apache.lens.server.common.TestResourceFile;
import org.apache.lens.server.query.QueryExecutionServiceImpl;
import org.apache.lens.server.query.TestQueryService;
import org.apache.lens.server.session.HiveSessionService;
import org.apache.lens.server.session.LensSessionImpl;
+import org.apache.commons.io.FileUtils;
import org.apache.hadoop.conf.Configuration;
import org.apache.hive.service.Service;
@@ -57,9 +60,7 @@ import org.glassfish.jersey.media.multipart.FormDataBodyPart;
import org.glassfish.jersey.media.multipart.FormDataContentDisposition;
import org.glassfish.jersey.media.multipart.FormDataMultiPart;
import org.testng.Assert;
-import org.testng.annotations.AfterTest;
-import org.testng.annotations.BeforeTest;
-import org.testng.annotations.Test;
+import org.testng.annotations.*;
import com.google.common.base.Optional;
import lombok.extern.slf4j.Slf4j;
@@ -99,6 +100,17 @@ public class TestServerRestart extends LensAllApplicationJerseyTest {
super.tearDown();
}
+ @BeforeClass
+ public void restartBeforeClass() throws Exception {
+ // restart server with test configuration for tests
+ restartLensServer(getServerConf());
+ }
+
+ @AfterClass
+ public void restart() throws Exception {
+ // restart server with normal configuration once the tests are done.
+ restartLensServer();
+ }
/** The file created. */
private boolean fileCreated;
@@ -396,7 +408,7 @@ public class TestServerRestart extends LensAllApplicationJerseyTest {
assertEquals(result.getStatus(), Status.SUCCEEDED);
// restart server
- restartLensServer();
+ restartLensServer(getServerConf());
// Check resources added again
verifyParamOnRestart(restartTestSession);
@@ -437,4 +449,29 @@ public class TestServerRestart extends LensAllApplicationJerseyTest {
assertEquals(sessionParams.getElements().size(), 1);
Assert.assertTrue(sessionParams.getElements().contains("lens.session.testRestartKey=myvalue"));
}
+
+ @Test(dataProvider = "mediaTypeData")
+ public void testServerMustRestartOnManualDeletionOfAddedResources(MediaType mt)
+ throws IOException, LensException, LenServerTestException {
+
+ /* Begin: Setup */
+
+ /* Add a resource jar to current working directory */
+ File jarFile = new File(TestResourceFile.TEST_RESTART_ON_RESOURCE_MOVE_JAR.getValue());
+ FileUtils.touch(jarFile);
+
+ /* Add the created resource jar to lens server */
+ LensSessionHandle sessionHandle = LensServerTestUtil.openSession(target(), "foo", "bar", new LensConf(), mt);
+ LensServerTestUtil.addResource(target(), sessionHandle, "jar", jarFile.getPath(), mt);
+
+ /* Delete resource jar from current working directory */
+ LensServerTestFileUtils.deleteFile(jarFile);
+
+ /* End: Setup */
+
+ /* Verification Steps: server should restart without exceptions */
+ restartLensServer();
+ HiveSessionService service = LensServices.get().getService(SessionService.NAME);
+ service.closeSession(sessionHandle);
+ }
}
http://git-wip-us.apache.org/repos/asf/lens/blob/fc3dc04a/lens-server/src/test/java/org/apache/lens/server/query/TestDuplicateQueries.java
----------------------------------------------------------------------
diff --git a/lens-server/src/test/java/org/apache/lens/server/query/TestDuplicateQueries.java b/lens-server/src/test/java/org/apache/lens/server/query/TestDuplicateQueries.java
index 3e9ddb8..c72c0fb 100644
--- a/lens-server/src/test/java/org/apache/lens/server/query/TestDuplicateQueries.java
+++ b/lens-server/src/test/java/org/apache/lens/server/query/TestDuplicateQueries.java
@@ -106,6 +106,7 @@ public class TestDuplicateQueries extends LensJerseyTest {
try {
MediaType mt = defaultMT;
log.info("Restarting lens server!");
+ //restart with overridden conf
restartLensServer(getServerConfLocal(), false);
log.info("Restarted lens server!");
@@ -191,7 +192,8 @@ public class TestDuplicateQueries extends LensJerseyTest {
}
}
log.info("Restarting lens server!");
- restartLensServer(super.getServerConf(), false);
+ // restart without overwrites
+ restartLensServer();
log.info("Restarted lens server!");
}
}
http://git-wip-us.apache.org/repos/asf/lens/blob/fc3dc04a/lens-server/src/test/java/org/apache/lens/server/query/TestQueryConstraints.java
----------------------------------------------------------------------
diff --git a/lens-server/src/test/java/org/apache/lens/server/query/TestQueryConstraints.java b/lens-server/src/test/java/org/apache/lens/server/query/TestQueryConstraints.java
index 8be1f89..e649a75 100644
--- a/lens-server/src/test/java/org/apache/lens/server/query/TestQueryConstraints.java
+++ b/lens-server/src/test/java/org/apache/lens/server/query/TestQueryConstraints.java
@@ -99,7 +99,8 @@ public class TestQueryConstraints extends LensJerseyTest {
@BeforeClass
public void setupTest() throws Exception {
- restartLensServer();
+ // restart with overwritten conf
+ restartLensServer(getServerConf());
queryService = LensServices.get().getService(QueryExecutionService.NAME);
metricsSvc = LensServices.get().getService(MetricsService.NAME);
Map<String, String> sessionConf = new HashMap<>();
@@ -114,6 +115,7 @@ public class TestQueryConstraints extends LensJerseyTest {
public void afterTest() throws Exception {
dropTable(TEST_TABLE);
queryService.closeSession(lensSessionId);
+ // bring it back without overwritten conf
restartLensServer();
}
http://git-wip-us.apache.org/repos/asf/lens/blob/fc3dc04a/lens-server/src/test/java/org/apache/lens/server/query/TestQueryIndependenceFromSessionClose.java
----------------------------------------------------------------------
diff --git a/lens-server/src/test/java/org/apache/lens/server/query/TestQueryIndependenceFromSessionClose.java b/lens-server/src/test/java/org/apache/lens/server/query/TestQueryIndependenceFromSessionClose.java
index d723596..202e4be 100644
--- a/lens-server/src/test/java/org/apache/lens/server/query/TestQueryIndependenceFromSessionClose.java
+++ b/lens-server/src/test/java/org/apache/lens/server/query/TestQueryIndependenceFromSessionClose.java
@@ -125,12 +125,13 @@ public class TestQueryIndependenceFromSessionClose extends LensJerseyTest {
assertFalse(((HiveDriver) driver).hasLensSession(lensSessionId));
}
}
+ // bring it back with normal configuration
+ restartLensServer();
}
- @Override
- protected void restartLensServer() {
+ private void customRestartLensServer() {
queryService = null;
- super.restartLensServer();
+ super.restartLensServer(getServerConf(), false);
queryService = LensServices.get().getService(QueryExecutionService.NAME);
}
@@ -208,7 +209,7 @@ public class TestQueryIndependenceFromSessionClose extends LensJerseyTest {
// Just 'marked' for closing
assertTrue(queryService.getSession(sesssionHandle).getLensSessionPersistInfo().isMarkedForClose());
if (restartBeforeFinish) {
- restartLensServer();
+ customRestartLensServer();
}
assertTrue(queryService.getSession(sesssionHandle).getLensSessionPersistInfo().isMarkedForClose());
assertTrue(queryService.getSession(sesssionHandle).isActive());
@@ -217,7 +218,7 @@ public class TestQueryIndependenceFromSessionClose extends LensJerseyTest {
// Session should not be active
assertFalse(queryService.getSession(sesssionHandle).isActive());
if (restartAfterFinish) {
- restartLensServer();
+ customRestartLensServer();
}
assertTrue(queryService.getSession(sesssionHandle).getLensSessionPersistInfo().isMarkedForClose());
// Now, session is not active anymore
http://git-wip-us.apache.org/repos/asf/lens/blob/fc3dc04a/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 33791ea..9ebe17c 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
@@ -381,63 +381,6 @@ public class TestSessionResource extends LensJerseyTest {
}
@Test(dataProvider = "mediaTypeData")
- public void testServerMustRestartOnManualDeletionOfAddedResources(MediaType mt)
- throws IOException, LensException, LenServerTestException {
-
- /* Begin: Setup */
-
- /* Add a resource jar to current working directory */
- File jarFile = new File(TestResourceFile.TEST_RESTART_ON_RESOURCE_MOVE_JAR.getValue());
- FileUtils.touch(jarFile);
-
- /* Add the created resource jar to lens server */
- LensSessionHandle sessionHandle = openSession("foo", "bar", new LensConf(), mt);
- addResource(sessionHandle, "jar", jarFile.getPath(), mt);
-
- /* Delete resource jar from current working directory */
- LensServerTestFileUtils.deleteFile(jarFile);
-
- /* End: Setup */
-
- /* Verification Steps: server should restart without exceptions */
- restartLensServer();
- HiveSessionService service = LensServices.get().getService(SessionService.NAME);
- service.closeSession(sessionHandle);
- }
-
- private LensSessionHandle openSession(final String userName, final String passwd, final LensConf conf, MediaType mt) {
-
- final WebTarget target = target().path("session");
- final FormDataMultiPart mp = new FormDataMultiPart();
-
- mp.bodyPart(new FormDataBodyPart(FormDataContentDisposition.name("username").build(), userName));
- mp.bodyPart(new FormDataBodyPart(FormDataContentDisposition.name("password").build(), passwd));
- mp.bodyPart(new FormDataBodyPart(FormDataContentDisposition.name("sessionconf").fileName("sessionconf").build(),
- conf, mt));
-
- return target.request(mt).post(Entity.entity(mp, MediaType.MULTIPART_FORM_DATA_TYPE),
- LensSessionHandle.class);
-
- }
-
- private void addResource(final LensSessionHandle lensSessionHandle, final String resourceType,
- final String resourcePath, MediaType mt) {
- final WebTarget target = target().path("session/resources");
- final FormDataMultiPart mp = new FormDataMultiPart();
- mp.bodyPart(new FormDataBodyPart(FormDataContentDisposition.name("sessionid").build(), lensSessionHandle,
- mt));
- mp.bodyPart(new FormDataBodyPart(FormDataContentDisposition.name("type").build(), resourceType));
- mp.bodyPart(
- new FormDataBodyPart(FormDataContentDisposition.name("path").build(), resourcePath));
- APIResult result = target.path("add").request(mt)
- .put(Entity.entity(mp, MediaType.MULTIPART_FORM_DATA_TYPE), APIResult.class);
-
- if (!result.getStatus().equals(Status.SUCCEEDED)) {
- throw new RuntimeException("Could not add resource:" + result);
- }
- }
-
- @Test(dataProvider = "mediaTypeData")
public void testOpenSessionWithDatabase(MediaType mt) throws Exception {
// TEST1 - Check if call with database parameter sets current database
// Create the test DB