LENS-1177: Adding restart tests and testcases for LENS-1019 and LENS-1032
Project: http://git-wip-us.apache.org/repos/asf/lens/repo Commit: http://git-wip-us.apache.org/repos/asf/lens/commit/0dfdaa9e Tree: http://git-wip-us.apache.org/repos/asf/lens/tree/0dfdaa9e Diff: http://git-wip-us.apache.org/repos/asf/lens/diff/0dfdaa9e Branch: refs/heads/current-release-line Commit: 0dfdaa9ecdd3f75cd8d8300e055822a99322cc2e Parents: eabd4e4 Author: Archana H <[email protected]> Authored: Tue Jul 12 15:47:04 2016 +0530 Committer: Rajat Khandelwal <[email protected]> Committed: Tue Jul 12 15:47:04 2016 +0530 ---------------------------------------------------------------------- .../core/constants/QueryInventory.java | 3 +- .../regression/core/helpers/QueryHelper.java | 26 +- .../apache/lens/regression/ITMetricsTest.java | 163 +++++++++++ .../apache/lens/regression/ITRestartTests.java | 284 +++++++++++++++++++ .../lens/regression/client/ITListQueryTest.java | 27 +- .../lens/regression/client/ITQueryApiTests.java | 176 ++++++++++++ .../lens/regression/client/KillQueryTests.java | 35 +-- 7 files changed, 682 insertions(+), 32 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/lens/blob/0dfdaa9e/lens-regression/src/main/java/org/apache/lens/regression/core/constants/QueryInventory.java ---------------------------------------------------------------------- diff --git a/lens-regression/src/main/java/org/apache/lens/regression/core/constants/QueryInventory.java b/lens-regression/src/main/java/org/apache/lens/regression/core/constants/QueryInventory.java index 8de3994..cdfd37b 100644 --- a/lens-regression/src/main/java/org/apache/lens/regression/core/constants/QueryInventory.java +++ b/lens-regression/src/main/java/org/apache/lens/regression/core/constants/QueryInventory.java @@ -74,7 +74,8 @@ public class QueryInventory { public static final String SLEEP_FUNCTION = "CREATE TEMPORARY FUNCTION sleep AS 'hive.udf.SampleUdf'"; public static final String SLEEP_QUERY = "cube select sleep(name) from sample_dim where name != 'first'"; - public static final String SLEEP_QUERY_TIME = "cube select sleepTime(name,%s) from sample_dim where name != 'first'"; + public static final String SLEEP_QUERY_TIME = "cube select sample_dim_chain.name, sleepTime(measure4,%s) from " + + "sample_cube where time_range_in(dt, '2014-06-24-23', '2014-06-25-00')"; public static final String NO_CUBE_KEYWORD_QUERY = "select sample_dim_chain.name, measure4 from sample_cube where " + "time_range_in(dt, '2014-06-24-23', '2014-06-25-00')"; http://git-wip-us.apache.org/repos/asf/lens/blob/0dfdaa9e/lens-regression/src/main/java/org/apache/lens/regression/core/helpers/QueryHelper.java ---------------------------------------------------------------------- diff --git a/lens-regression/src/main/java/org/apache/lens/regression/core/helpers/QueryHelper.java b/lens-regression/src/main/java/org/apache/lens/regression/core/helpers/QueryHelper.java index 8bd5290..dbbb4aa 100644 --- a/lens-regression/src/main/java/org/apache/lens/regression/core/helpers/QueryHelper.java +++ b/lens-regression/src/main/java/org/apache/lens/regression/core/helpers/QueryHelper.java @@ -175,7 +175,8 @@ public class QueryHelper extends ServiceManagerHelper { } formData.getForm().bodyPart( new FormDataBodyPart(FormDataContentDisposition.name("conf").fileName("conf").build(), conf, - MediaType.APPLICATION_XML_TYPE)); + MediaType.APPLICATION_XML_TYPE)); + Response response = this.exec("post", "/queryapi/queries", servLens, null, null, MediaType.MULTIPART_FORM_DATA_TYPE, MediaType.APPLICATION_XML, formData.getForm()); LensAPIResult result = response.readEntity(new GenericType<LensAPIResult>(){}); @@ -183,6 +184,29 @@ public class QueryHelper extends ServiceManagerHelper { return result; } + public LensAPIResult executeQueryTimeout(String queryString, String timeout, String queryName, + String sessionHandleString, LensConf conf) throws LensException { + FormBuilder formData = new FormBuilder(); + formData.add("sessionid", sessionHandleString); + formData.add("query", queryString); + formData.add("operation", "EXECUTE_WITH_TIMEOUT"); + if (timeout != null) { + formData.add("timeoutmillis", timeout); + } + if (queryName != null) { + formData.add("queryName", queryName); + } + + formData.getForm().bodyPart( + new FormDataBodyPart(FormDataContentDisposition.name("conf").fileName("conf").build(), conf, + MediaType.APPLICATION_XML_TYPE)); + + Response response = this.exec("post", QueryURL.QUERY_URL, servLens, null, null, MediaType.MULTIPART_FORM_DATA_TYPE, + MediaType.APPLICATION_XML, formData.getForm()); + LensAPIResult result = response.readEntity(new GenericType<LensAPIResult>(){}); + return result; + } + /** * Explain the query * http://git-wip-us.apache.org/repos/asf/lens/blob/0dfdaa9e/lens-regression/src/test/java/org/apache/lens/regression/ITMetricsTest.java ---------------------------------------------------------------------- diff --git a/lens-regression/src/test/java/org/apache/lens/regression/ITMetricsTest.java b/lens-regression/src/test/java/org/apache/lens/regression/ITMetricsTest.java new file mode 100644 index 0000000..4f28db5 --- /dev/null +++ b/lens-regression/src/test/java/org/apache/lens/regression/ITMetricsTest.java @@ -0,0 +1,163 @@ +/** + * 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. + */ + +package org.apache.lens.regression; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.lang.reflect.Method; +import java.net.URL; +import java.util.HashMap; + +import javax.ws.rs.client.WebTarget; + +import org.apache.lens.api.query.LensQuery; +import org.apache.lens.api.query.QueryHandle; +import org.apache.lens.api.query.QueryStatus; +import org.apache.lens.regression.core.constants.QueryInventory; +import org.apache.lens.regression.core.helpers.LensServerHelper; +import org.apache.lens.regression.core.helpers.MetastoreHelper; +import org.apache.lens.regression.core.helpers.QueryHelper; +import org.apache.lens.regression.core.helpers.ServiceManagerHelper; +import org.apache.lens.regression.core.helpers.SessionHelper; +import org.apache.lens.regression.core.testHelper.BaseTestClass; +import org.apache.lens.server.LensRequestListener; +import org.apache.lens.server.api.query.QueryExecutionService; + +import org.apache.log4j.Logger; + +import org.json.JSONObject; + +import org.testng.Assert; +import org.testng.annotations.*; + + +public class ITMetricsTest extends BaseTestClass { + + WebTarget servLens; + String sessionHandleString; + + LensServerHelper lens = getLensServerHelper(); + MetastoreHelper mHelper = getMetastoreHelper(); + SessionHelper sHelper = getSessionHelper(); + QueryHelper qHelper = getQueryHelper(); + + private static String admin = "/metrics?pretty=true"; + private static Logger logger = Logger.getLogger(ITMetricsTest.class); + + static final String HTTP_REQUESTS_FINISHED = LensRequestListener.HTTP_REQUESTS_FINISHED; + static final String TOTAL_ACCEPTED_QUERIES = "total-accepted-queries"; + static final String TOTAL_CANCELLED_QUERIES = "total-cancelled-queries"; + static final String TOTAL_FAILED_QUERIES = "total-failed-queries"; + static final String TOTAL_SUCCESS_QUERIES = "total-success-queries"; + static final String TOTAL_FINISHED_QUERIES = "total-finished-queries"; + + @BeforeClass(alwaysRun = true) + public void initialize() throws IOException{ + servLens = ServiceManagerHelper.init(); + } + + @BeforeMethod(alwaysRun = true) + public void setUp(Method method) throws Exception { + logger.info("Test Name: " + method.getName()); + logger.info("Creating a new Session for " + method.getName()); + sessionHandleString = lens.openSession(lens.getCurrentDB()); + } + + @AfterMethod(alwaysRun = true) + public void closeSession(Method method) throws Exception { + logger.info("Closing Session for " + method.getName()); + lens.closeSession(); + } + + + private HashMap<String, Integer> getMetricsSnapshot() throws Exception { + + URL lensAdmin = new URL(lens.getAdminUrl() + admin); + HashMap<String, Integer> metricsMap = new HashMap<String, Integer>(); + + BufferedReader br = new BufferedReader(new InputStreamReader(lensAdmin.openStream())); + StringBuilder sb = new StringBuilder(); + String line; + + try { + while ((line = br.readLine()) != null) { + sb.append(line); + } + } catch (IOException e1) { + logger.info("Exception " + e1.getMessage()); + } + + JSONObject object = new JSONObject(sb.toString()); + + metricsMap.put(HTTP_REQUESTS_FINISHED, object.getJSONObject("counters").getJSONObject( + LensRequestListener.class.getName() + "." + HTTP_REQUESTS_FINISHED).getInt("count")); + + metricsMap.put(TOTAL_ACCEPTED_QUERIES, object.getJSONObject("counters").getJSONObject( + QueryExecutionService.class.getName() + "." + TOTAL_ACCEPTED_QUERIES).getInt("count")); + + metricsMap.put(TOTAL_CANCELLED_QUERIES, object.getJSONObject("counters").getJSONObject( + QueryExecutionService.class.getName()+ "." + TOTAL_CANCELLED_QUERIES).getInt("count")); + + metricsMap.put(TOTAL_FAILED_QUERIES, object.getJSONObject("counters").getJSONObject( + QueryExecutionService.class.getName()+ "." + TOTAL_FAILED_QUERIES).getInt("count")); + + metricsMap.put(TOTAL_FINISHED_QUERIES, object.getJSONObject("counters").getJSONObject( + QueryExecutionService.class.getName()+ "." + TOTAL_FINISHED_QUERIES).getInt("count")); + + metricsMap.put(TOTAL_SUCCESS_QUERIES, object.getJSONObject("counters").getJSONObject( + QueryExecutionService.class.getName()+ "." + TOTAL_SUCCESS_QUERIES).getInt("count")); + + return metricsMap; + } + + @Test(enabled = true) + public void testMetrics() throws Exception { + + HashMap<String, Integer> oldMap = getMetricsSnapshot(); + HashMap<String, Integer> newMap = null; + + String sessionHandleString = sHelper.openNewSession("diff", "diff"); + newMap = getMetricsSnapshot(); + Assert.assertEquals(newMap.get(HTTP_REQUESTS_FINISHED) - oldMap.get(HTTP_REQUESTS_FINISHED), 1); + + QueryHandle queryHandle = (QueryHandle) qHelper.executeQuery(QueryInventory.QUERY).getData(); + LensQuery lensQuery = qHelper.waitForCompletion(queryHandle); + Assert.assertEquals(lensQuery.getStatus().getStatus(), QueryStatus.Status.SUCCESSFUL); + + queryHandle = (QueryHandle) qHelper.executeQuery(QueryInventory.getSleepQuery("5")).getData(); + QueryStatus queryStatus = qHelper.waitForQueryToRun(queryHandle); + qHelper.killQueryByQueryHandle(queryHandle); + queryStatus = qHelper.getQueryStatus(queryHandle); + Assert.assertEquals(queryStatus.getStatus(), QueryStatus.Status.CANCELED, "Query is Not Running"); + + QueryHandle qh = (QueryHandle) qHelper.executeQuery(QueryInventory.NO_PARTITION_HIVE_CUBE_QUERY).getData(); + + newMap = getMetricsSnapshot(); + logger.info("Old map " + oldMap + "\n New map " + newMap); + + Assert.assertEquals(newMap.get(TOTAL_ACCEPTED_QUERIES) - oldMap.get(TOTAL_ACCEPTED_QUERIES), 2); + Assert.assertEquals(newMap.get(TOTAL_CANCELLED_QUERIES) - oldMap.get(TOTAL_CANCELLED_QUERIES), 1); + Assert.assertEquals(newMap.get(TOTAL_FINISHED_QUERIES) - oldMap.get(TOTAL_FINISHED_QUERIES), 2); + Assert.assertEquals(newMap.get(TOTAL_SUCCESS_QUERIES) - oldMap.get(TOTAL_SUCCESS_QUERIES), 1); + Assert.assertEquals(newMap.get(TOTAL_FAILED_QUERIES) - oldMap.get(TOTAL_FAILED_QUERIES), 0); + } + +} http://git-wip-us.apache.org/repos/asf/lens/blob/0dfdaa9e/lens-regression/src/test/java/org/apache/lens/regression/ITRestartTests.java ---------------------------------------------------------------------- diff --git a/lens-regression/src/test/java/org/apache/lens/regression/ITRestartTests.java b/lens-regression/src/test/java/org/apache/lens/regression/ITRestartTests.java new file mode 100644 index 0000000..203996b --- /dev/null +++ b/lens-regression/src/test/java/org/apache/lens/regression/ITRestartTests.java @@ -0,0 +1,284 @@ +/** + * 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. + */ + +package org.apache.lens.regression; + +import java.io.IOException; +import java.lang.reflect.Method; +import java.util.*; + +import javax.ws.rs.client.WebTarget; +import javax.xml.bind.JAXBException; + +import org.apache.lens.api.LensConf; +import org.apache.lens.api.query.*; +import org.apache.lens.cube.parse.CubeQueryConfUtil; +import org.apache.lens.regression.core.constants.DriverConfig; +import org.apache.lens.regression.core.constants.QueryInventory; +import org.apache.lens.regression.core.helpers.*; +import org.apache.lens.regression.core.testHelper.BaseTestClass; +import org.apache.lens.regression.util.Util; +import org.apache.lens.server.api.LensConfConstants; +import org.apache.lens.server.api.error.LensException; +import org.apache.lens.server.api.util.LensUtil; + +import org.apache.log4j.Logger; + +import org.testng.Assert; +import org.testng.annotations.*; + + +public class ITRestartTests extends BaseTestClass { + + WebTarget servLens; + String sessionHandleString; + + LensServerHelper lens = getLensServerHelper(); + MetastoreHelper mHelper = getMetastoreHelper(); + SessionHelper sHelper = getSessionHelper(); + QueryHelper qHelper = getQueryHelper(); + + private static String hiveDriver = "hive/hive1"; + private static String jdbcDriver = "jdbc/jdbc1"; + + private String lensSiteConf = lens.getServerDir() + "/conf/lens-site.xml"; + private String hiveDriverConf = lens.getServerDir() + "/conf/drivers/hive/hive1/hivedriver-site.xml"; + private String jdbcDriverConf = lens.getServerDir() + "/conf/drivers/jdbc/jdbc1/jdbcdriver-site.xml"; + + public static final String SLEEP_QUERY = QueryInventory.getSleepQuery("5"); + public static final String COST_95 = String.format(QueryInventory.getQueryFromInventory("HIVE.SLEEP_COST_95"), "7"); + public static final String COST_60 = String.format(QueryInventory.getQueryFromInventory("HIVE.SLEEP_COST_60"), "7"); + public static final String COST_30 = String.format(QueryInventory.getQueryFromInventory("HIVE.SLEEP_COST_30"), "6"); + public static final String COST_20 = String.format(QueryInventory.getQueryFromInventory("HIVE.SLEEP_COST_20"), "6"); + public static final String COST_10 = String.format(QueryInventory.getQueryFromInventory("HIVE.SLEEP_COST_10"), "6"); + public static final String COST_5 = String.format(QueryInventory.getQueryFromInventory("HIVE.SLEEP_COST_5"), "5"); + + private static Logger logger = Logger.getLogger(ITRestartTests.class); + + @BeforeClass(alwaysRun = true) + public void initialize() throws IOException, JAXBException, LensException { + servLens = ServiceManagerHelper.init(); + } + + @BeforeMethod(alwaysRun = true) + public void setUp(Method method) throws Exception { + logger.info("Test Name: " + method.getName()); + logger.info("Creating a new Session"); + sessionHandleString = lens.openSession(lens.getCurrentDB()); + } + + @AfterMethod(alwaysRun = true) + public void closeSession() throws Exception { + logger.info("Closing Session"); + if (sessionHandleString!=null) { + lens.closeSession(); + } + } + + + //LENS-924 + @Test(enabled = true) + public void testSessionConfRetainedOnRestart() throws Exception { + + String mailNotify = LensConfConstants.QUERY_MAIL_NOTIFY; + HashMap<String, String> map = LensUtil.getHashMap(LensConfConstants.QUERY_MAIL_NOTIFY, "true"); + Util.changeConfig(map, lensSiteConf); + lens.restart(); + + String query = QueryInventory.getSleepQuery("10"); + + HashMap<String, String> confMap = LensUtil.getHashMap(LensConfConstants.QUERY_PERSISTENT_RESULT_SET, "true", + LensConfConstants.QUERY_PERSISTENT_RESULT_INDRIVER, "false", mailNotify, "false", + CubeQueryConfUtil.FAIL_QUERY_ON_PARTIAL_DATA, "false", LensConfConstants.PURGE_INTERVAL, "5000"); + + LensConf lensConf = new LensConf(); + lensConf.addProperties(confMap); + String session1 = sHelper.openNewSession("diff1", "diff1", lens.getCurrentDB()); + sHelper.setAndValidateParam(confMap, session1); + + List<QueryHandle> qList = new ArrayList<QueryHandle>(); + for(int i=1; i<3; i++){ + qList.add((QueryHandle)qHelper.executeQuery(query, null, null, session1, lensConf).getData()); + } + + String session2 = sHelper.openNewSession("diff2", "diff2", lens.getCurrentDB()); + String session3 = sHelper.openNewSession("diff3", "diff3", lens.getCurrentDB()); + + qHelper.waitForCompletion(qList.get(0)); + Thread.sleep(5000); // wait till query gets persisted + sHelper.closeNewSession(session1); // required to hit that flow + lens.restart(); + + Assert.assertTrue(Boolean.parseBoolean(sHelper.getSessionParam(session2, + LensConfConstants.QUERY_PERSISTENT_RESULT_INDRIVER))); + Assert.assertTrue(Boolean.parseBoolean(sHelper.getSessionParam(session3, + LensConfConstants.QUERY_PERSISTENT_RESULT_INDRIVER))); + Assert.assertTrue(Boolean.parseBoolean(sHelper.getSessionParam(session2, mailNotify))); + Assert.assertTrue(Boolean.parseBoolean(sHelper.getSessionParam(session3, mailNotify))); + + for(int i=4; i<8; i++){ + String user = "diff" + Integer.toString(i); + String session = sHelper.openNewSession(user, user, lens.getCurrentDB()); + String isDriverPersist = sHelper.getSessionParam(session, LensConfConstants.QUERY_PERSISTENT_RESULT_INDRIVER); + String isMailNotify = sHelper.getSessionParam(session, mailNotify); + logger.info(user + " session : " + isDriverPersist); + Assert.assertTrue(Boolean.parseBoolean(isDriverPersist)); + Assert.assertTrue(Boolean.parseBoolean(isMailNotify)); + } + } + + //TODO : add dataprovider for all persistent combination + @Test(enabled = true) + public void testGetFinishedResultSetAfterRestart() throws Exception { + + sHelper.setAndValidateParam(LensConfConstants.QUERY_PERSISTENT_RESULT_SET, "true"); + sHelper.setAndValidateParam(LensConfConstants.QUERY_PERSISTENT_RESULT_INDRIVER, "false"); + + QueryHandle handle1 = (QueryHandle) qHelper.executeQuery(QueryInventory.JDBC_CUBE_QUERY).getData(); + QueryHandle handle2 = (QueryHandle) qHelper.executeQuery(QueryInventory.HIVE_CUBE_QUERY).getData(); + + LensQuery lq1 = qHelper.waitForCompletion(handle1); + LensQuery lq2 = qHelper.waitForCompletion(handle2); + + Assert.assertEquals(lq1.getStatus().getStatus(), QueryStatus.Status.SUCCESSFUL); + Assert.assertEquals(lq2.getStatus().getStatus(), QueryStatus.Status.SUCCESSFUL); + + // Result should get purged and then server should be restarted + Thread.sleep(10000); + lens.restart(); + + PersistentQueryResult result1 = (PersistentQueryResult)qHelper.getResultSet(handle1); + Assert.assertNotNull(result1); + Assert.assertEquals(result1.getNumRows().intValue(), 2); + + PersistentQueryResult result2 = (PersistentQueryResult)qHelper.getResultSet(handle2); + Assert.assertNotNull(result2); + Assert.assertEquals(result2.getNumRows().intValue(), 8); + } + + /* + Once lens server restarts, the map join param tuning fails because rewriterplan would have been lost. + */ + + @Test(enabled = true) + public void mapJoinTuneOnRestart() throws Exception { + + sHelper.setAndValidateParam(CubeQueryConfUtil.FAIL_QUERY_ON_PARTIAL_DATA, "false"); + String memoryConfKey = "mapreduce.map.memory.mb"; + HashMap<String, String> map = LensUtil.getHashMap(DriverConfig.MAX_CONCURRENT_QUERIES, "1"); + + try { + Util.changeConfig(map, hiveDriverConf); + lens.restart(); + + QueryHandle handle = (QueryHandle) qHelper.executeQuery(COST_5).getData(); + QueryHandle handle1 = (QueryHandle) qHelper.executeQuery(COST_5).getData(); + QueryHandle handle2 = (QueryHandle) qHelper.executeQuery(COST_5).getData(); + QueryHandle handle3 = (QueryHandle) qHelper.executeQuery(COST_5).getData(); + + LensQuery lq = qHelper.getLensQuery(sessionHandleString, handle); + String expected = lq.getQueryConf().getProperties().get(memoryConfKey); + + lens.restart(); + + LensQuery lq1 = qHelper.getLensQuery(sessionHandleString, handle1); + LensQuery lq2 = qHelper.getLensQuery(sessionHandleString, handle2); + LensQuery lq3 = qHelper.getLensQuery(sessionHandleString, handle3); + + Assert.assertEquals(lq1.getQueryConf().getProperties().get(memoryConfKey), expected); + Assert.assertEquals(lq2.getQueryConf().getProperties().get(memoryConfKey), expected); + Assert.assertEquals(lq3.getQueryConf().getProperties().get(memoryConfKey), expected); + + } finally { + Util.changeConfig(hiveDriverConf); + lens.restart(); + } + } + + + @Test(enabled = true) + public void testHiveQueryOnRestart() throws Exception { + + sHelper.setAndValidateParam(CubeQueryConfUtil.FAIL_QUERY_ON_PARTIAL_DATA, "false"); + HashMap<String, String> map = LensUtil.getHashMap(DriverConfig.MAX_CONCURRENT_QUERIES, "4"); + try { + Util.changeConfig(map, hiveDriverConf); + lens.restart(); + + List<QueryHandle> handleList = new ArrayList<QueryHandle>(); + for (int i = 1; i <= 3; i++) { + handleList.add((QueryHandle) qHelper.executeQuery(COST_95).getData()); + handleList.add((QueryHandle) qHelper.executeQuery(COST_20).getData()); + } + + qHelper.waitForQueryToRun(handleList.get(0)); + lens.restart(); + + for (int i = 1; i <= 2; i++) { + handleList.add((QueryHandle) qHelper.executeQuery(COST_10).getData()); + handleList.add((QueryHandle) qHelper.executeQuery(QueryInventory.HIVE_CUBE_QUERY).getData()); + } + + for (QueryHandle q : handleList) { + LensQuery lq = qHelper.waitForCompletion(q); + Assert.assertEquals(lq.getStatus().getStatus(), QueryStatus.Status.SUCCESSFUL); + } + + } finally { + Util.changeConfig(hiveDriverConf); + lens.restart(); + } + } + + //TODO : Add long running jdbc query + @Test(enabled = true) + public void testJdbcQueryOnRestart() throws Exception { + + HashMap<String, String> map = LensUtil.getHashMap(DriverConfig.MAX_CONCURRENT_QUERIES, "4", + DriverConfig.JDBC_POOL_SIZE, "4"); + + try { + Util.changeConfig(map, jdbcDriverConf); + lens.restart(); + + List<QueryHandle> handleList = new ArrayList<QueryHandle>(); + for (int i = 1; i <= 8; i++) { + qHelper.executeQuery(QueryInventory.JDBC_CUBE_QUERY).getData(); + qHelper.executeQuery(QueryInventory.JDBC_DIM_QUERY).getData(); + } + + handleList = qHelper.getQueryHandleList(null, "QUEUED", "all", sessionHandleString, null, null, jdbcDriver); + lens.restart(); + + for (int i = 1; i <= 2; i++) { + handleList.add((QueryHandle) qHelper.executeQuery(QueryInventory.JDBC_CUBE_QUERY).getData()); + handleList.add((QueryHandle) qHelper.executeQuery(QueryInventory.JDBC_DIM_QUERY).getData()); + } + + for (QueryHandle q : handleList) { + LensQuery lq = qHelper.waitForCompletion(q); + Assert.assertEquals(lq.getStatus().getStatus(), QueryStatus.Status.SUCCESSFUL); + } + + } finally { + Util.changeConfig(jdbcDriverConf); + lens.restart(); + } + } +} http://git-wip-us.apache.org/repos/asf/lens/blob/0dfdaa9e/lens-regression/src/test/java/org/apache/lens/regression/client/ITListQueryTest.java ---------------------------------------------------------------------- diff --git a/lens-regression/src/test/java/org/apache/lens/regression/client/ITListQueryTest.java b/lens-regression/src/test/java/org/apache/lens/regression/client/ITListQueryTest.java index 2188363..f64d966 100644 --- a/lens-regression/src/test/java/org/apache/lens/regression/client/ITListQueryTest.java +++ b/lens-regression/src/test/java/org/apache/lens/regression/client/ITListQueryTest.java @@ -19,7 +19,6 @@ package org.apache.lens.regression.client; -import java.io.File; import java.io.IOException; import java.lang.reflect.Method; import java.util.List; @@ -49,19 +48,14 @@ public class ITListQueryTest extends BaseTestClass { SessionHelper sHelper = getSessionHelper(); QueryHelper qHelper = getQueryHelper(); - private final String hdfsJarPath = lens.getServerHdfsUrl() + "/tmp"; - private final String localJarPath = new File("").getAbsolutePath() + "/lens-regression/target/testjars/"; - private final String hiveUdfJar = "hiveudftest.jar"; - private final String serverResourcePath = "/tmp/regression/resources"; String jdbcDriver = "jdbc/jdbc1", hiveDriver = "hive/hive1"; - + String sleepQuery = QueryInventory.getSleepQuery("5"); private static Logger logger = Logger.getLogger(ITListQueryTest.class); @BeforeClass(alwaysRun = true) public void initialize() throws IOException, JAXBException, LensException { servLens = ServiceManagerHelper.init(); -// HadoopUtil.uploadJars(localJarPath + "/" + hiveUdfJar, hdfsJarPath); logger.info("Creating a new Session"); sessionHandleString = lens.openSession(lens.getCurrentDB()); } @@ -71,6 +65,13 @@ public class ITListQueryTest extends BaseTestClass { logger.info("Test Name: " + method.getName()); } + @AfterMethod(alwaysRun = true) + public void afterMethod(Method method) throws Exception { + logger.info("Test Name: " + method.getName()); + qHelper.killQuery(null, "QUEUED", "all"); + qHelper.killQuery(null, "RUNNING", "all"); + } + @AfterClass(alwaysRun = true) public void closeSession() throws Exception { logger.info("Closing Session"); @@ -254,11 +255,11 @@ public class ITListQueryTest extends BaseTestClass { Assert.assertEquals(lensQuery.getStatus().getStatus(), QueryStatus.Status.SUCCESSFUL, "Query did not succeed"); //Running Query - QueryHandle queryHandle3 = (QueryHandle) qHelper.executeQuery(QueryInventory.SLEEP_QUERY).getData(); + QueryHandle queryHandle3 = (QueryHandle) qHelper.executeQuery(sleepQuery).getData(); qHelper.waitForQueryToRun(queryHandle3); //Cancelled Query - QueryHandle queryHandle4 = (QueryHandle) qHelper.executeQuery(QueryInventory.SLEEP_QUERY).getData(); + QueryHandle queryHandle4 = (QueryHandle) qHelper.executeQuery(sleepQuery).getData(); qHelper.waitForQueryToRun(queryHandle4); qHelper.killQueryByQueryHandle(queryHandle4); @@ -405,7 +406,7 @@ public class ITListQueryTest extends BaseTestClass { String newSession = sHelper.openNewSession(user, pwd, mHelper.getCurrentDB()); //Cancelled hive Query - QueryHandle q1 = (QueryHandle) qHelper.executeQuery(QueryInventory.SLEEP_QUERY, null, newSession).getData(); + QueryHandle q1 = (QueryHandle) qHelper.executeQuery(sleepQuery, null, newSession).getData(); qHelper.waitForQueryToRun(q1, newSession); qHelper.killQueryByQueryHandle(q1); @@ -418,7 +419,7 @@ public class ITListQueryTest extends BaseTestClass { qHelper.waitForCompletion(newSession, q2); //Running hive Query - QueryHandle q4 = (QueryHandle) qHelper.executeQuery(QueryInventory.SLEEP_QUERY, null, newSession).getData(); + QueryHandle q4 = (QueryHandle) qHelper.executeQuery(sleepQuery, null, newSession).getData(); qHelper.waitForQueryToRun(q4, newSession); List<QueryHandle> cancelledHive = qHelper.getQueryHandleList(null, "CANCELED", user, sessionHandleString, null, @@ -466,7 +467,7 @@ public class ITListQueryTest extends BaseTestClass { String startTime2 = String.valueOf(System.currentTimeMillis()); Thread.sleep(2000); - QueryHandle q2 = (QueryHandle) qHelper.executeQuery(QueryInventory.SLEEP_QUERY, queryName2, diffSession1).getData(); + QueryHandle q2 = (QueryHandle) qHelper.executeQuery(sleepQuery, queryName2, diffSession1).getData(); Thread.sleep(2000); String endTime2 = String.valueOf(System.currentTimeMillis()); @@ -474,7 +475,7 @@ public class ITListQueryTest extends BaseTestClass { String startTime3 = String.valueOf(System.currentTimeMillis()); Thread.sleep(2000); - QueryHandle q3 = (QueryHandle) qHelper.executeQuery(QueryInventory.SLEEP_QUERY, queryName3, diffSession2).getData(); + QueryHandle q3 = (QueryHandle) qHelper.executeQuery(sleepQuery, queryName3, diffSession2).getData(); qHelper.killQueryByQueryHandle(q3); String endTime3 = String.valueOf(System.currentTimeMillis()); http://git-wip-us.apache.org/repos/asf/lens/blob/0dfdaa9e/lens-regression/src/test/java/org/apache/lens/regression/client/ITQueryApiTests.java ---------------------------------------------------------------------- diff --git a/lens-regression/src/test/java/org/apache/lens/regression/client/ITQueryApiTests.java b/lens-regression/src/test/java/org/apache/lens/regression/client/ITQueryApiTests.java index f18053d..ea8d7f2 100644 --- a/lens-regression/src/test/java/org/apache/lens/regression/client/ITQueryApiTests.java +++ b/lens-regression/src/test/java/org/apache/lens/regression/client/ITQueryApiTests.java @@ -20,6 +20,9 @@ package org.apache.lens.regression.client; import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; import javax.ws.rs.client.WebTarget; import javax.ws.rs.core.MediaType; @@ -27,6 +30,8 @@ import javax.ws.rs.core.Response; import org.apache.lens.api.LensConf; import org.apache.lens.api.query.*; +import org.apache.lens.cube.parse.CubeQueryConfUtil; +import org.apache.lens.regression.core.constants.DriverConfig; import org.apache.lens.regression.core.constants.QueryInventory; import org.apache.lens.regression.core.constants.QueryURL; import org.apache.lens.regression.core.helpers.LensServerHelper; @@ -37,7 +42,9 @@ import org.apache.lens.regression.core.helpers.SessionHelper; import org.apache.lens.regression.core.testHelper.BaseTestClass; import org.apache.lens.regression.core.type.MapBuilder; import org.apache.lens.regression.util.AssertUtil; +import org.apache.lens.regression.util.Util; import org.apache.lens.server.api.LensConfConstants; +import org.apache.lens.server.api.util.LensUtil; import org.apache.log4j.Logger; @@ -55,6 +62,7 @@ public class ITQueryApiTests extends BaseTestClass { SessionHelper sHelper = getSessionHelper(); QueryHelper qHelper = getQueryHelper(); + private String hiveDriverSitePath = lens.getServerDir() + "/conf/drivers/hive/hive1/hivedriver-site.xml"; private static Logger logger = Logger.getLogger(ITQueryApiTests.class); @@ -76,6 +84,12 @@ public class ITQueryApiTests extends BaseTestClass { lens.closeSession(); } + @DataProvider(name = "persistance_values") + public Object[][] data() { + String[][] testData = {{"true", "true"}, {"true", "false"}, {"false", "false"}}; + return testData; + } + @Test public void testQueryServiceStatus() throws Exception { @@ -332,4 +346,166 @@ public class ITQueryApiTests extends BaseTestClass { Assert.assertTrue(resultUrl.contains("httpresultset")); } + + @Test(dataProvider = "persistance_values") + public void testCancelQueryOnTimeout(String serverPersistent, String driverPersistent) throws Exception { + + sHelper.setAndValidateParam(CubeQueryConfUtil.FAIL_QUERY_ON_PARTIAL_DATA, "false"); + sHelper.setAndValidateParam(LensConfConstants.QUERY_PERSISTENT_RESULT_SET, serverPersistent); + sHelper.setAndValidateParam(LensConfConstants.QUERY_PERSISTENT_RESULT_INDRIVER, driverPersistent); + String query = QueryInventory.getSleepQuery("5"); + + //checking for default value + QueryHandleWithResultSet qhr1 = (QueryHandleWithResultSet) qHelper.executeQueryTimeout(query, "10", + null, sessionHandleString).getData(); + LensQuery lq1 = qHelper.waitForCompletion(qhr1.getQueryHandle()); + Assert.assertEquals(lq1.getStatus().getStatus(), QueryStatus.Status.CANCELED); + + //Setting explicitly + LensConf lensConf = new LensConf(); + lensConf.addProperty(LensConfConstants.CANCEL_QUERY_ON_TIMEOUT, "true"); + QueryHandleWithResultSet qhr2 = (QueryHandleWithResultSet) qHelper.executeQueryTimeout(query, "5", + null, sessionHandleString, lensConf).getData(); + LensQuery lq2 = qHelper.waitForCompletion(qhr2.getQueryHandle()); + Assert.assertEquals(lq2.getStatus().getStatus(), QueryStatus.Status.CANCELED); + } + + + @Test(dataProvider = "persistance_values") + public void testDontCancelQueryOnTimeout(String serverPersistent, String driverPersistent) throws Exception { + + sHelper.setAndValidateParam(LensConfConstants.QUERY_PERSISTENT_RESULT_SET, serverPersistent); + sHelper.setAndValidateParam(LensConfConstants.QUERY_PERSISTENT_RESULT_INDRIVER, driverPersistent); + String query = QueryInventory.getSleepQuery("5"); + + LensConf lensConf = new LensConf(); + lensConf.addProperty(LensConfConstants.CANCEL_QUERY_ON_TIMEOUT, "false"); + + QueryHandleWithResultSet qHWithResultSet = (QueryHandleWithResultSet) qHelper.executeQueryTimeout(query, "5", + null, sessionHandleString, lensConf).getData(); + + LensQuery lq = qHelper.waitForCompletion(qHWithResultSet.getQueryHandle()); + Assert.assertEquals(lq.getStatus().getStatus(), QueryStatus.Status.SUCCESSFUL); + } + + /* LENS-1019 : If query is repeated from user - with same query, same name, same conf on the same session + and earlier is still queued or running, then return the same handle. + */ + + + @DataProvider(name = "query_names") + public Object[][] queryName() { + String[][] testData = {{"query-name"}, {null}}; + return testData; + } + + @Test(dataProvider = "query_names") + public void testRunningSameNameSessionQuery(String queryName) throws Exception { + + String query = QueryInventory.getSleepQuery("10"); + List<QueryHandle> handleList = new ArrayList<>(); + List<PersistentQueryResult> resultList = new ArrayList<>(); + + for(int i=0; i<3; i++){ + handleList.add((QueryHandle) qHelper.executeQuery(query, queryName).getData()); + } + + Assert.assertEquals(handleList.get(1).getHandleIdString(), handleList.get(0).getHandleIdString()); + Assert.assertEquals(handleList.get(2).getHandleIdString(), handleList.get(0).getHandleIdString()); + + for(QueryHandle handle : handleList){ + LensQuery lq = qHelper.waitForCompletion(handle); + Assert.assertEquals(lq.getStatus().getStatus(), QueryStatus.Status.SUCCESSFUL); + resultList.add((PersistentQueryResult) qHelper.getResultSet(handle)); + } + + Assert.assertEquals(resultList.get(1).getPersistedURI(), resultList.get(0).getPersistedURI()); + Assert.assertEquals(resultList.get(2).getPersistedURI(), resultList.get(0).getPersistedURI()); + } + + @Test() + public void testQueuedSameNameSessionQuery() throws Exception { + + String query = QueryInventory.getSleepQuery("10"); + List<QueryHandle> handleList = new ArrayList<>(); + List<PersistentQueryResult> resultList = new ArrayList<>(); + HashMap<String, String> map = LensUtil.getHashMap(DriverConfig.MAX_CONCURRENT_QUERIES, "1"); + + try { + Util.changeConfig(map, hiveDriverSitePath); + lens.restart(); + + //Fire long running query so that 2nd query is in queued state + qHelper.executeQuery(query, "query1").getData(); + + for (int i = 0; i < 3; i++) { + handleList.add((QueryHandle) qHelper.executeQuery(QueryInventory.HIVE_CUBE_QUERY, "query1").getData()); + } + + Assert.assertEquals(handleList.get(1), handleList.get(0)); + Assert.assertEquals(handleList.get(2), handleList.get(0)); + + for (QueryHandle handle : handleList) { + LensQuery lq = qHelper.waitForCompletion(handle); + Assert.assertEquals(lq.getStatus().getStatus(), QueryStatus.Status.SUCCESSFUL); + resultList.add((PersistentQueryResult) qHelper.getResultSet(handle)); + } + + Assert.assertEquals(resultList.get(1).getPersistedURI(), resultList.get(0).getPersistedURI()); + Assert.assertEquals(resultList.get(2).getPersistedURI(), resultList.get(0).getPersistedURI()); + + } finally { + Util.changeConfig(hiveDriverSitePath); + lens.restart(); + } + } + + @Test + public void differentQuerySameNameSession() throws Exception { + + String cost5 = String.format(QueryInventory.getQueryFromInventory("HIVE.SLEEP_COST_5"), "5"); + String cost3 = String.format(QueryInventory.getQueryFromInventory("HIVE.SLEEP_COST_3"), "3"); + + QueryHandle handle1 = (QueryHandle) qHelper.executeQuery(cost5, "queryName").getData(); + QueryHandle handle2 = (QueryHandle) qHelper.executeQuery(cost3, "queryName").getData(); + + Assert.assertFalse(handle1.getHandleIdString().equals(handle2.getHandleIdString())); + } + + @Test + public void differentSessionSameNameQuery() throws Exception { + + String query = QueryInventory.getSleepQuery("10"); + String session1 = sHelper.openNewSession("user1", "pwd1", lens.getCurrentDB()); + String session2 = sHelper.openNewSession("user2", "pwd2", lens.getCurrentDB()); + QueryHandle handle1 = (QueryHandle) qHelper.executeQuery(query, "name", session1).getData(); + QueryHandle handle2 = (QueryHandle) qHelper.executeQuery(query, "name", session2).getData(); + Assert.assertFalse(handle1.getHandleIdString().equals(handle2.getHandleIdString())); + } + + @Test + public void differentNameSameSessionQuery() throws Exception { + String query = QueryInventory.getSleepQuery("3"); + QueryHandle handle1 = (QueryHandle) qHelper.executeQuery(query, "name1").getData(); + QueryHandle handle2 = (QueryHandle) qHelper.executeQuery(query, "name2").getData(); + Assert.assertFalse(handle1.getHandleIdString().equals(handle2.getHandleIdString())); + } + + @Test + public void differentConfSameNameSessionQuery() throws Exception { + + String query = QueryInventory.getSleepQuery("5"); + LensConf lensConf = new LensConf(); + + lensConf.addProperty(CubeQueryConfUtil.FAIL_QUERY_ON_PARTIAL_DATA, "false"); + QueryHandle qhr1 = (QueryHandle) qHelper.executeQuery(query, "query-name", null, sessionHandleString, + lensConf).getData(); + + lensConf.addProperty(CubeQueryConfUtil.FAIL_QUERY_ON_PARTIAL_DATA, "true"); + QueryHandle qhr2 = (QueryHandle) qHelper.executeQuery(query, "query-name", null, sessionHandleString, + lensConf).getData(); + + Assert.assertFalse(qhr1.getHandleIdString().equals(qhr2.getHandleIdString())); + } + } http://git-wip-us.apache.org/repos/asf/lens/blob/0dfdaa9e/lens-regression/src/test/java/org/apache/lens/regression/client/KillQueryTests.java ---------------------------------------------------------------------- diff --git a/lens-regression/src/test/java/org/apache/lens/regression/client/KillQueryTests.java b/lens-regression/src/test/java/org/apache/lens/regression/client/KillQueryTests.java index 57351db..cfeae1c 100644 --- a/lens-regression/src/test/java/org/apache/lens/regression/client/KillQueryTests.java +++ b/lens-regression/src/test/java/org/apache/lens/regression/client/KillQueryTests.java @@ -53,6 +53,7 @@ public class KillQueryTests extends BaseTestClass { private final String localJarPath = new File("").getAbsolutePath() + "/lens-regression/target/testjars/"; private final String hiveUdfJar = "hiveudftest.jar"; private final String serverResourcePath = "/tmp/regression/resources"; + String sleepQuery = QueryInventory.getSleepQuery("5"); private static Logger logger = Logger.getLogger(KillQueryTests.class); @@ -86,7 +87,7 @@ public class KillQueryTests extends BaseTestClass { @Test(enabled = true) public void killQueryByHandle() throws Exception { - QueryHandle qH = (QueryHandle) qHelper.executeQuery(QueryInventory.SLEEP_QUERY).getData(); + QueryHandle qH = (QueryHandle) qHelper.executeQuery(sleepQuery).getData(); logger.info("QUERY HANDLE : " + qH); QueryStatus queryStatus = qHelper.waitForQueryToRun(qH); @@ -110,13 +111,13 @@ public class KillQueryTests extends BaseTestClass { logger.info("Adding jar for making query to run for longer period of time"); sHelper.addResourcesJar(hdfsJarPath + "/" + hiveUdfJar, newSessionHandleSring); - QueryHandle queryHandle1 = (QueryHandle) qHelper.executeQuery(QueryInventory.SLEEP_QUERY).getData(); + QueryHandle queryHandle1 = (QueryHandle) qHelper.executeQuery(sleepQuery).getData(); logger.info("1st QUERY HANDLE : " + queryHandle1); - QueryHandle queryHandle2 = (QueryHandle) qHelper.executeQuery(QueryInventory.SLEEP_QUERY).getData(); + QueryHandle queryHandle2 = (QueryHandle) qHelper.executeQuery(sleepQuery).getData(); logger.info("2nd QUERY HANDLE : " + queryHandle2); - QueryHandle queryHandle3 = (QueryHandle) qHelper.executeQuery(QueryInventory.SLEEP_QUERY, null, + QueryHandle queryHandle3 = (QueryHandle) qHelper.executeQuery(sleepQuery, null, newSessionHandleSring).getData(); logger.info("3rd QUERY HANDLE : " + queryHandle3); @@ -155,9 +156,9 @@ public class KillQueryTests extends BaseTestClass { String newSessionHandleSring = sHelper.openNewSession(diffUser, diffPass, lens.getCurrentDB()); sHelper.addResourcesJar(hdfsJarPath + "/" + hiveUdfJar, newSessionHandleSring); - QueryHandle queryHandle1 = (QueryHandle) qHelper.executeQuery(QueryInventory.SLEEP_QUERY).getData(); - QueryHandle queryHandle2 = (QueryHandle) qHelper.executeQuery(QueryInventory.SLEEP_QUERY).getData(); - QueryHandle queryHandle3 = (QueryHandle) qHelper.executeQuery(QueryInventory.SLEEP_QUERY, null, + QueryHandle queryHandle1 = (QueryHandle) qHelper.executeQuery(sleepQuery).getData(); + QueryHandle queryHandle2 = (QueryHandle) qHelper.executeQuery(sleepQuery).getData(); + QueryHandle queryHandle3 = (QueryHandle) qHelper.executeQuery(sleepQuery, null, newSessionHandleSring).getData(); QueryStatus queryStatus1 = qHelper.waitForQueryToRun(queryHandle1); @@ -183,8 +184,8 @@ public class KillQueryTests extends BaseTestClass { @Test(enabled = true) public void killAllQueryOfUser() throws Exception { - QueryHandle queryHandle1 = (QueryHandle) qHelper.executeQuery(QueryInventory.SLEEP_QUERY).getData(); - QueryHandle queryHandle2 = (QueryHandle) qHelper.executeQuery(QueryInventory.SLEEP_QUERY).getData(); + QueryHandle queryHandle1 = (QueryHandle) qHelper.executeQuery(sleepQuery).getData(); + QueryHandle queryHandle2 = (QueryHandle) qHelper.executeQuery(sleepQuery).getData(); QueryStatus queryStatus1 = qHelper.waitForQueryToRun(queryHandle1); QueryStatus queryStatus2 = qHelper.waitForQueryToRun(queryHandle2); @@ -205,8 +206,8 @@ public class KillQueryTests extends BaseTestClass { @Test(enabled = true) public void killQueryByState() throws Exception { - QueryHandle queryHandle1 = (QueryHandle) qHelper.executeQuery(QueryInventory.SLEEP_QUERY).getData(); - QueryHandle queryHandle2 = (QueryHandle) qHelper.executeQuery(QueryInventory.SLEEP_QUERY).getData(); + QueryHandle queryHandle1 = (QueryHandle) qHelper.executeQuery(sleepQuery).getData(); + QueryHandle queryHandle2 = (QueryHandle) qHelper.executeQuery(sleepQuery).getData(); QueryStatus queryStatus1 = qHelper.waitForQueryToRun(queryHandle1); QueryStatus queryStatus2 = qHelper.waitForQueryToRun(queryHandle2); @@ -255,13 +256,13 @@ public class KillQueryTests extends BaseTestClass { String queryName2 = "queryNameSecond"; String queryName3 = "Name"; - QueryHandle queryHandle1 = (QueryHandle) qHelper.executeQuery(QueryInventory.SLEEP_QUERY, queryName1).getData(); + QueryHandle queryHandle1 = (QueryHandle) qHelper.executeQuery(sleepQuery, queryName1).getData(); logger.info("1st QUERY HANDLE : " + queryHandle1); - QueryHandle queryHandle2 = (QueryHandle) qHelper.executeQuery(QueryInventory.SLEEP_QUERY, queryName2).getData(); + QueryHandle queryHandle2 = (QueryHandle) qHelper.executeQuery(sleepQuery, queryName2).getData(); logger.info("2nd QUERY HANDLE : " + queryHandle2); - QueryHandle queryHandle3 = (QueryHandle) qHelper.executeQuery(QueryInventory.SLEEP_QUERY, queryName3).getData(); + QueryHandle queryHandle3 = (QueryHandle) qHelper.executeQuery(sleepQuery, queryName3).getData(); logger.info("3rd QUERY HANDLE : " + queryHandle3); QueryStatus queryStatus1 = qHelper.waitForQueryToRun(queryHandle1); @@ -302,7 +303,7 @@ public class KillQueryTests extends BaseTestClass { String startTime1 = String.valueOf(System.currentTimeMillis()); logger.info("Start Time of 1st Query : " + startTime1); Thread.sleep(1000); - QueryHandle queryHandle1 = (QueryHandle) qHelper.executeQuery(QueryInventory.SLEEP_QUERY).getData(); + QueryHandle queryHandle1 = (QueryHandle) qHelper.executeQuery(sleepQuery).getData(); Thread.sleep(1000); String endTime1 = String.valueOf(System.currentTimeMillis()); logger.info("End Time of 1st Query : " + endTime1); @@ -312,7 +313,7 @@ public class KillQueryTests extends BaseTestClass { String startTime2 = String.valueOf(System.currentTimeMillis()); logger.info("Start Time of 2nd Query : " + startTime2); Thread.sleep(1000); - QueryHandle queryHandle2 = (QueryHandle) qHelper.executeQuery(QueryInventory.SLEEP_QUERY).getData(); + QueryHandle queryHandle2 = (QueryHandle) qHelper.executeQuery(sleepQuery).getData(); Thread.sleep(1000); String endTime2 = String.valueOf(System.currentTimeMillis()); logger.info("End Time of 2nd Query : " + endTime2); @@ -348,7 +349,7 @@ public class KillQueryTests extends BaseTestClass { logger.info("Start Time of 1st Query : " + startTime1); Thread.sleep(1000); - QueryHandle queryHandle1 = (QueryHandle) qHelper.executeQuery(QueryInventory.SLEEP_QUERY, queryName1).getData(); + QueryHandle queryHandle1 = (QueryHandle) qHelper.executeQuery(sleepQuery, queryName1).getData(); Thread.sleep(1000); String endTime1 = String.valueOf(System.currentTimeMillis());
