You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lens.apache.org by am...@apache.org on 2015/10/15 02:21:32 UTC
lens git commit: LENS-807 : Set priority in query context after
driver decides priority
Repository: lens
Updated Branches:
refs/heads/master a079ad3f3 -> 5741aee71
LENS-807 : Set priority in query context after driver decides priority
Project: http://git-wip-us.apache.org/repos/asf/lens/repo
Commit: http://git-wip-us.apache.org/repos/asf/lens/commit/5741aee7
Tree: http://git-wip-us.apache.org/repos/asf/lens/tree/5741aee7
Diff: http://git-wip-us.apache.org/repos/asf/lens/diff/5741aee7
Branch: refs/heads/master
Commit: 5741aee71c8aeff595db3cf7116ef51ea30c9a6e
Parents: a079ad3
Author: Rajat Khandelwal <pr...@apache.org>
Authored: Thu Oct 15 05:51:18 2015 +0530
Committer: Amareshwari Sriramadasu <am...@apache.org>
Committed: Thu Oct 15 05:51:18 2015 +0530
----------------------------------------------------------------------
.../org/apache/lens/driver/hive/HiveDriver.java | 6 +-
.../apache/lens/driver/hive/TestHiveDriver.java | 9 ++-
.../lens/server/api/query/QueryContext.java | 33 ++++++--
.../lens/server/api/query/MockQueryContext.java | 25 +++++-
.../api/query/TestAbstractQueryContext.java | 82 ++++++++------------
.../api/query/cost/MockQueryCostCalculator.java | 31 ++++++++
.../priority/MockQueryPriorityDecider.java | 30 +++++++
.../lens/server/api/util/TestLensUtil.java | 24 ++++++
.../lens/server/common/RestAPITestUtil.java | 9 ---
.../server/query/TestQueryEndEmailNotifier.java | 1 +
.../lens/server/query/TestQueryService.java | 1 +
11 files changed, 175 insertions(+), 76 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lens/blob/5741aee7/lens-driver-hive/src/main/java/org/apache/lens/driver/hive/HiveDriver.java
----------------------------------------------------------------------
diff --git a/lens-driver-hive/src/main/java/org/apache/lens/driver/hive/HiveDriver.java b/lens-driver-hive/src/main/java/org/apache/lens/driver/hive/HiveDriver.java
index 4561ccf..c96ef20 100644
--- a/lens-driver-hive/src/main/java/org/apache/lens/driver/hive/HiveDriver.java
+++ b/lens-driver-hive/src/main/java/org/apache/lens/driver/hive/HiveDriver.java
@@ -533,10 +533,8 @@ public class HiveDriver implements LensDriver {
if (whetherCalculatePriority) {
try {
// Inside try since non-data fetching queries can also be executed by async method.
- if (ctx.getDriverQueryCost(this) == null) {
- ctx.setDriverCost(this, queryCostCalculator.calculateCost(ctx, this));
- }
- String priority = queryPriorityDecider.decidePriority(ctx.getDriverQueryCost(this)).toString();
+ String priority = ctx.calculateCostAndDecidePriority(this, queryCostCalculator, queryPriorityDecider)
+ .toString();
qdconf.set("mapred.job.priority", priority);
log.info("set priority to {}", priority);
} catch (Exception e) {
http://git-wip-us.apache.org/repos/asf/lens/blob/5741aee7/lens-driver-hive/src/test/java/org/apache/lens/driver/hive/TestHiveDriver.java
----------------------------------------------------------------------
diff --git a/lens-driver-hive/src/test/java/org/apache/lens/driver/hive/TestHiveDriver.java b/lens-driver-hive/src/test/java/org/apache/lens/driver/hive/TestHiveDriver.java
index 2cb3736..fc57c94 100644
--- a/lens-driver-hive/src/test/java/org/apache/lens/driver/hive/TestHiveDriver.java
+++ b/lens-driver-hive/src/test/java/org/apache/lens/driver/hive/TestHiveDriver.java
@@ -818,7 +818,7 @@ public class TestHiveDriver {
final Set<FactPartition> partitions = getFactParts(Arrays.asList(kv[0].trim().split("\\s*,\\s*")));
final Priority expected = Priority.valueOf(kv[1]);
- AbstractQueryContext ctx = createContext("test priority query", conf);
+ QueryContext ctx = createContext("test priority query", conf);
ctx.getDriverContext().setDriverRewriterPlan(driver, new DriverQueryPlan() {
@Override
@@ -847,9 +847,10 @@ public class TestHiveDriver {
}
});
}
- ctx.setDriverCost(driver, driver.queryCostCalculator.calculateCost(ctx, driver));
- assertEquals(expected, driver.queryPriorityDecider.decidePriority(ctx.getDriverQueryCost(driver)));
- assertEquals(Priority.NORMAL, alwaysNormalPriorityDecider.decidePriority(ctx.getDriverQueryCost(driver)));
+ assertEquals(ctx.calculateCostAndDecidePriority(driver, driver.queryCostCalculator,
+ driver.queryPriorityDecider), expected);
+ assertEquals(ctx.calculateCostAndDecidePriority(driver, driver.queryCostCalculator,
+ alwaysNormalPriorityDecider), Priority.NORMAL);
i++;
}
// test priority without fact partitions
http://git-wip-us.apache.org/repos/asf/lens/blob/5741aee7/lens-server-api/src/main/java/org/apache/lens/server/api/query/QueryContext.java
----------------------------------------------------------------------
diff --git a/lens-server-api/src/main/java/org/apache/lens/server/api/query/QueryContext.java b/lens-server-api/src/main/java/org/apache/lens/server/api/query/QueryContext.java
index ac94207..9b491d1 100644
--- a/lens-server-api/src/main/java/org/apache/lens/server/api/query/QueryContext.java
+++ b/lens-server-api/src/main/java/org/apache/lens/server/api/query/QueryContext.java
@@ -34,6 +34,8 @@ import org.apache.lens.server.api.driver.LensDriver;
import org.apache.lens.server.api.error.LensException;
import org.apache.lens.server.api.query.collect.WaitingQueriesSelectionPolicy;
import org.apache.lens.server.api.query.constraint.QueryLaunchingConstraint;
+import org.apache.lens.server.api.query.cost.QueryCostCalculator;
+import org.apache.lens.server.api.query.priority.QueryPriorityDecider;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
@@ -79,7 +81,8 @@ public class QueryContext extends AbstractQueryContext {
/**
* The is driver persistent.
*/
- @Getter private boolean isDriverPersistent;
+ @Getter
+ private boolean isDriverPersistent;
/**
* The status.
@@ -201,10 +204,11 @@ public class QueryContext extends AbstractQueryContext {
* @param drivers All the drivers
* @param selectedDriver SelectedDriver
*/
- private QueryContext(String userQuery, String user, LensConf qconf, Configuration conf,
- Collection<LensDriver> drivers, LensDriver selectedDriver, boolean mergeDriverConf) {
+ QueryContext(String userQuery, String user, LensConf qconf, Configuration conf,
+ Collection<LensDriver> drivers, LensDriver selectedDriver, boolean mergeDriverConf) {
this(userQuery, user, qconf, conf, drivers, selectedDriver, System.currentTimeMillis(), mergeDriverConf);
}
+
/**
* Instantiates a new query context.
*
@@ -250,7 +254,7 @@ public class QueryContext extends AbstractQueryContext {
* @return QueryContext object
*/
public static QueryContext createContextWithSingleDriver(String query, String user, LensConf qconf,
- Configuration conf, LensDriver driver, String lensSessionPublicId, boolean mergeDriverConf) {
+ Configuration conf, LensDriver driver, String lensSessionPublicId, boolean mergeDriverConf) {
QueryContext ctx = new QueryContext(query, user, qconf, conf, Lists.newArrayList(driver), driver, mergeDriverConf);
ctx.setLensSessionIdentifier(lensSessionPublicId);
return ctx;
@@ -358,12 +362,12 @@ public class QueryContext extends AbstractQueryContext {
public boolean getCompressOutput() {
return conf.getBoolean(LensConfConstants.QUERY_OUTPUT_ENABLE_COMPRESSION,
- LensConfConstants.DEFAULT_OUTPUT_ENABLE_COMPRESSION);
+ LensConfConstants.DEFAULT_OUTPUT_ENABLE_COMPRESSION);
}
public long getMaxResultSplitRows() {
return conf.getLong(LensConfConstants.RESULT_SPLIT_MULTIPLE_MAX_ROWS,
- LensConfConstants.DEFAULT_RESULT_SPLIT_MULTIPLE_MAX_ROWS);
+ LensConfConstants.DEFAULT_RESULT_SPLIT_MULTIPLE_MAX_ROWS);
}
/**
@@ -373,7 +377,7 @@ public class QueryContext extends AbstractQueryContext {
*/
public boolean splitResultIntoMultipleFiles() {
return conf.getBoolean(LensConfConstants.RESULT_SPLIT_INTO_MULTIPLE,
- LensConfConstants.DEFAULT_RESULT_SPLIT_INTO_MULTIPLE);
+ LensConfConstants.DEFAULT_RESULT_SPLIT_INTO_MULTIPLE);
}
public String getClusterUser() {
@@ -397,7 +401,7 @@ public class QueryContext extends AbstractQueryContext {
public void validateTransition(final QueryStatus newStatus) throws LensException {
if (!this.status.isValidTransition(newStatus.getStatus())) {
throw new LensException("Invalid state transition:from[" + this.status.getStatus() + " to "
- + newStatus.getStatus() + "]");
+ + newStatus.getStatus() + "]");
}
}
@@ -424,4 +428,17 @@ public class QueryContext extends AbstractQueryContext {
public ImmutableSet<WaitingQueriesSelectionPolicy> getSelectedDriverSelectionPolicies() {
return getSelectedDriver().getWaitingQuerySelectionPolicies();
}
+
+ public Priority decidePriority(LensDriver driver, QueryPriorityDecider queryPriorityDecider) throws LensException {
+ priority = queryPriorityDecider.decidePriority(getDriverQueryCost(driver));
+ return priority;
+ }
+
+ public Priority calculateCostAndDecidePriority(LensDriver driver, QueryCostCalculator queryCostCalculator,
+ QueryPriorityDecider queryPriorityDecider) throws LensException {
+ if (getDriverQueryCost(driver) == null) {
+ setDriverCost(driver, queryCostCalculator.calculateCost(this, driver));
+ }
+ return decidePriority(driver, queryPriorityDecider);
+ }
}
http://git-wip-us.apache.org/repos/asf/lens/blob/5741aee7/lens-server-api/src/test/java/org/apache/lens/server/api/query/MockQueryContext.java
----------------------------------------------------------------------
diff --git a/lens-server-api/src/test/java/org/apache/lens/server/api/query/MockQueryContext.java b/lens-server-api/src/test/java/org/apache/lens/server/api/query/MockQueryContext.java
index 3d38eab..12fb4ce 100644
--- a/lens-server-api/src/test/java/org/apache/lens/server/api/query/MockQueryContext.java
+++ b/lens-server-api/src/test/java/org/apache/lens/server/api/query/MockQueryContext.java
@@ -19,19 +19,40 @@
package org.apache.lens.server.api.query;
import java.util.Collection;
+import java.util.List;
import org.apache.lens.api.LensConf;
import org.apache.lens.server.api.driver.LensDriver;
+import org.apache.lens.server.api.driver.MockDriver;
+import org.apache.lens.server.api.error.LensException;
import org.apache.hadoop.conf.Configuration;
-public class MockQueryContext extends AbstractQueryContext {
+import com.beust.jcommander.internal.Lists;
+
+public class MockQueryContext extends QueryContext {
private static final long serialVersionUID = 1L;
public MockQueryContext(final String query, final LensConf qconf,
final Configuration conf, final Collection<LensDriver> drivers) {
- super(query, "testuser", qconf, conf, drivers, false);
+ super(query, "testuser", qconf, conf, drivers, drivers.iterator().next(), false);
+ }
+
+ public MockQueryContext() throws LensException {
+ this(new Configuration());
+ }
+
+ public MockQueryContext(Configuration conf) throws LensException {
+ this("mock query", new LensConf(), conf, getDrivers(conf));
+ }
+
+ public static List<LensDriver> getDrivers(Configuration conf) throws LensException {
+ List<LensDriver> drivers = Lists.newArrayList();
+ MockDriver d = new MockDriver();
+ d.configure(conf);
+ drivers.add(d);
+ return drivers;
}
@Override
http://git-wip-us.apache.org/repos/asf/lens/blob/5741aee7/lens-server-api/src/test/java/org/apache/lens/server/api/query/TestAbstractQueryContext.java
----------------------------------------------------------------------
diff --git a/lens-server-api/src/test/java/org/apache/lens/server/api/query/TestAbstractQueryContext.java b/lens-server-api/src/test/java/org/apache/lens/server/api/query/TestAbstractQueryContext.java
index 847d12a..44978f2 100644
--- a/lens-server-api/src/test/java/org/apache/lens/server/api/query/TestAbstractQueryContext.java
+++ b/lens-server-api/src/test/java/org/apache/lens/server/api/query/TestAbstractQueryContext.java
@@ -18,22 +18,22 @@
*/
package org.apache.lens.server.api.query;
+import static org.apache.lens.api.Priority.HIGH;
+import static org.apache.lens.server.api.LensConfConstants.*;
+import static org.apache.lens.server.api.util.TestLensUtil.getConfiguration;
+
+import static org.testng.Assert.*;
+
import java.io.*;
-import java.util.ArrayList;
import java.util.Arrays;
-import java.util.List;
-import java.util.UUID;
-import org.apache.lens.api.LensConf;
-import org.apache.lens.server.api.LensConfConstants;
-import org.apache.lens.server.api.driver.LensDriver;
+import org.apache.lens.api.Priority;
import org.apache.lens.server.api.driver.MockDriver;
import org.apache.lens.server.api.error.LensException;
import org.apache.lens.server.api.metrics.LensMetricsRegistry;
+import org.apache.lens.server.api.query.cost.MockQueryCostCalculator;
+import org.apache.lens.server.api.query.priority.MockQueryPriorityDecider;
-import org.apache.hadoop.conf.Configuration;
-
-import org.testng.Assert;
import org.testng.annotations.Test;
import com.codahale.metrics.MetricRegistry;
@@ -45,59 +45,33 @@ public class TestAbstractQueryContext {
@Test
public void testMetricsConfigEnabled() throws LensException {
- Configuration conf = new Configuration();
- List<LensDriver> testDrivers = new ArrayList<LensDriver>();
- MockDriver mdriver = new MockDriver();
- mdriver.configure(conf);
- testDrivers.add(mdriver);
- conf.setBoolean(LensConfConstants.ENABLE_QUERY_METRICS, true);
- MockQueryContext ctx = new MockQueryContext("mock query", new LensConf(), conf, testDrivers);
- String uniqueMetridId = ctx.getConf().get(LensConfConstants.QUERY_METRIC_UNIQUE_ID_CONF_KEY);
- Assert.assertNotNull(uniqueMetridId);
- UUID.fromString(uniqueMetridId);
- StringBuilder expectedStackName = new StringBuilder();
- expectedStackName.append(uniqueMetridId).append("-").append(MockDriver.class.getSimpleName());
- Assert.assertEquals(ctx.getDriverConf(mdriver).get(LensConfConstants.QUERY_METRIC_DRIVER_STACK_NAME),
- expectedStackName.toString());
+ MockQueryContext ctx = new MockQueryContext(getConfiguration(ENABLE_QUERY_METRICS, true));
+ String uniqueMetridId = ctx.getConf().get(QUERY_METRIC_UNIQUE_ID_CONF_KEY);
+ assertNotNull(uniqueMetridId);
+ assertEquals(ctx.getSelectedDriverConf().get(QUERY_METRIC_DRIVER_STACK_NAME),
+ uniqueMetridId + "-" + MockDriver.class.getSimpleName());
}
@Test
public void testMetricsConfigDisabled() throws LensException {
- Configuration conf = new Configuration();
- List<LensDriver> testDrivers = new ArrayList<LensDriver>();
- MockDriver mdriver = new MockDriver();
- mdriver.configure(conf);
- testDrivers.add(mdriver);
- conf.setBoolean(LensConfConstants.ENABLE_QUERY_METRICS, false);
- MockQueryContext ctx = new MockQueryContext("mock query", new LensConf(), conf, testDrivers);
- Assert.assertNull(ctx.getConf().get(LensConfConstants.QUERY_METRIC_UNIQUE_ID_CONF_KEY));
- Assert.assertNull(ctx.getDriverConf(mdriver).get(LensConfConstants.QUERY_METRIC_DRIVER_STACK_NAME));
+ MockQueryContext ctx = new MockQueryContext(getConfiguration(ENABLE_QUERY_METRICS, false));
+ assertNull(ctx.getConf().get(QUERY_METRIC_UNIQUE_ID_CONF_KEY));
+ assertNull(ctx.getSelectedDriverConf().get(QUERY_METRIC_DRIVER_STACK_NAME));
}
@Test
public void testEstimateGauges() throws LensException {
- Configuration conf = new Configuration();
- List<LensDriver> testDrivers = new ArrayList<LensDriver>();
- MockDriver mdriver = new MockDriver();
- mdriver.configure(conf);
- testDrivers.add(mdriver);
- conf.set(LensConfConstants.QUERY_METRIC_UNIQUE_ID_CONF_KEY, TestAbstractQueryContext.class.getSimpleName());
- MockQueryContext ctx = new MockQueryContext("mock query", new LensConf(), conf, testDrivers);
+ MockQueryContext ctx = new MockQueryContext(getConfiguration(QUERY_METRIC_UNIQUE_ID_CONF_KEY,
+ TestAbstractQueryContext.class.getSimpleName()));
ctx.estimateCostForDrivers();
MetricRegistry reg = LensMetricsRegistry.getStaticRegistry();
-
- Assert.assertTrue(reg.getGauges().keySet().containsAll(Arrays.asList(
+ assertTrue(reg.getGauges().keySet().containsAll(Arrays.asList(
"lens.MethodMetricGauge.TestAbstractQueryContext-MockDriver-driverEstimate")));
}
@Test
public void testTransientState() throws LensException, IOException, ClassNotFoundException {
- Configuration conf = new Configuration();
- List<LensDriver> testDrivers = new ArrayList<LensDriver>();
- MockDriver mdriver = new MockDriver();
- mdriver.configure(conf);
- testDrivers.add(mdriver);
- MockQueryContext ctx = new MockQueryContext("mock query", new LensConf(), conf, testDrivers);
+ MockQueryContext ctx = new MockQueryContext();
ByteArrayOutputStream bios = new ByteArrayOutputStream();
ObjectOutputStream out = new ObjectOutputStream(bios);
byte[] ctxBytes = null;
@@ -116,7 +90,17 @@ public class TestAbstractQueryContext {
in.close();
}
ctxRead.initTransientState();
- ctxRead.setConf(conf);
- Assert.assertNotNull(ctxRead.getHiveConf());
+ ctxRead.setConf(ctx.getConf());
+ assertNotNull(ctxRead.getHiveConf());
}
+
+ @Test
+ public void testPrioritySetting() throws LensException {
+ MockQueryContext ctx = new MockQueryContext();
+ Priority p = ctx.calculateCostAndDecidePriority(ctx.getSelectedDriver(), new
+ MockQueryCostCalculator(), new MockQueryPriorityDecider());
+ assertEquals(p, HIGH);
+ assertEquals(ctx.getPriority(), HIGH);
+ }
+
}
http://git-wip-us.apache.org/repos/asf/lens/blob/5741aee7/lens-server-api/src/test/java/org/apache/lens/server/api/query/cost/MockQueryCostCalculator.java
----------------------------------------------------------------------
diff --git a/lens-server-api/src/test/java/org/apache/lens/server/api/query/cost/MockQueryCostCalculator.java b/lens-server-api/src/test/java/org/apache/lens/server/api/query/cost/MockQueryCostCalculator.java
new file mode 100644
index 0000000..fb4085e
--- /dev/null
+++ b/lens-server-api/src/test/java/org/apache/lens/server/api/query/cost/MockQueryCostCalculator.java
@@ -0,0 +1,31 @@
+/**
+ * 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.server.api.query.cost;
+
+import org.apache.lens.server.api.driver.LensDriver;
+import org.apache.lens.server.api.error.LensException;
+import org.apache.lens.server.api.query.AbstractQueryContext;
+
+public class MockQueryCostCalculator implements QueryCostCalculator {
+ @Override
+ public QueryCost calculateCost(AbstractQueryContext queryContext, LensDriver driver) throws LensException {
+ return new FactPartitionBasedQueryCost(10.0);
+ }
+}
http://git-wip-us.apache.org/repos/asf/lens/blob/5741aee7/lens-server-api/src/test/java/org/apache/lens/server/api/query/priority/MockQueryPriorityDecider.java
----------------------------------------------------------------------
diff --git a/lens-server-api/src/test/java/org/apache/lens/server/api/query/priority/MockQueryPriorityDecider.java b/lens-server-api/src/test/java/org/apache/lens/server/api/query/priority/MockQueryPriorityDecider.java
new file mode 100644
index 0000000..121a28b
--- /dev/null
+++ b/lens-server-api/src/test/java/org/apache/lens/server/api/query/priority/MockQueryPriorityDecider.java
@@ -0,0 +1,30 @@
+/**
+ * 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.server.api.query.priority;
+
+import org.apache.lens.api.Priority;
+import org.apache.lens.server.api.error.LensException;
+import org.apache.lens.server.api.query.cost.QueryCost;
+
+public class MockQueryPriorityDecider implements QueryPriorityDecider {
+ @Override
+ public Priority decidePriority(QueryCost cost) throws LensException {
+ return Priority.HIGH;
+ }
+}
http://git-wip-us.apache.org/repos/asf/lens/blob/5741aee7/lens-server-api/src/test/java/org/apache/lens/server/api/util/TestLensUtil.java
----------------------------------------------------------------------
diff --git a/lens-server-api/src/test/java/org/apache/lens/server/api/util/TestLensUtil.java b/lens-server-api/src/test/java/org/apache/lens/server/api/util/TestLensUtil.java
index caee12f..a6acb7d 100644
--- a/lens-server-api/src/test/java/org/apache/lens/server/api/util/TestLensUtil.java
+++ b/lens-server-api/src/test/java/org/apache/lens/server/api/util/TestLensUtil.java
@@ -18,8 +18,14 @@
*/
package org.apache.lens.server.api.util;
+import static org.testng.Assert.assertEquals;
+
import java.io.IOException;
+import org.apache.lens.api.LensConf;
+
+import org.apache.hadoop.conf.Configuration;
+
import org.testng.Assert;
import org.testng.annotations.Test;
@@ -55,4 +61,22 @@ public class TestLensUtil {
}
Assert.assertEquals(LensUtil.getCauseMessage(th), "run time exception");
}
+
+ public static Configuration getConfiguration(Object... args) {
+ Configuration conf = new Configuration();
+ Assert.assertEquals(args.length % 2, 0, "Odd number of arguments not supported");
+ for (int i = 0; i < args.length; i += 2) {
+ conf.set(args[i].toString(), args[i + 1].toString());
+ }
+ return conf;
+ }
+
+ public static LensConf getLensConf(Object... args) {
+ assertEquals(args.length % 2, 0);
+ LensConf conf = new LensConf();
+ for (int i = 0; i < args.length; i += 2) {
+ conf.addProperty(args[i], args[i + 1]);
+ }
+ return conf;
+ }
}
http://git-wip-us.apache.org/repos/asf/lens/blob/5741aee7/lens-server/src/test/java/org/apache/lens/server/common/RestAPITestUtil.java
----------------------------------------------------------------------
diff --git a/lens-server/src/test/java/org/apache/lens/server/common/RestAPITestUtil.java b/lens-server/src/test/java/org/apache/lens/server/common/RestAPITestUtil.java
index e266ef2..4b25fd0 100644
--- a/lens-server/src/test/java/org/apache/lens/server/common/RestAPITestUtil.java
+++ b/lens-server/src/test/java/org/apache/lens/server/common/RestAPITestUtil.java
@@ -252,13 +252,4 @@ public class RestAPITestUtil {
return target.path("queryapi/queries").path(handle.toString()).path("httpresultset")
.queryParam("sessionid", lensSessionHandle).request().get(Response.class);
}
-
- public static LensConf getLensConf(Object... args) {
- assertEquals(args.length % 2, 0);
- LensConf conf = new LensConf();
- for (int i = 0; i < args.length; i += 2) {
- conf.addProperty(args[i], args[i + 1]);
- }
- return conf;
- }
}
http://git-wip-us.apache.org/repos/asf/lens/blob/5741aee7/lens-server/src/test/java/org/apache/lens/server/query/TestQueryEndEmailNotifier.java
----------------------------------------------------------------------
diff --git a/lens-server/src/test/java/org/apache/lens/server/query/TestQueryEndEmailNotifier.java b/lens-server/src/test/java/org/apache/lens/server/query/TestQueryEndEmailNotifier.java
index 3bb90ef..ec6fd86 100644
--- a/lens-server/src/test/java/org/apache/lens/server/query/TestQueryEndEmailNotifier.java
+++ b/lens-server/src/test/java/org/apache/lens/server/query/TestQueryEndEmailNotifier.java
@@ -18,6 +18,7 @@
*/
package org.apache.lens.server.query;
+import static org.apache.lens.server.api.util.TestLensUtil.getLensConf;
import static org.apache.lens.server.common.RestAPITestUtil.*;
import static org.testng.Assert.assertEquals;
http://git-wip-us.apache.org/repos/asf/lens/blob/5741aee7/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 6218882..c37b0ed 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
@@ -20,6 +20,7 @@ package org.apache.lens.server.query;
import static javax.ws.rs.core.Response.Status.*;
+import static org.apache.lens.server.api.util.TestLensUtil.getLensConf;
import static org.apache.lens.server.common.RestAPITestUtil.*;
import static org.testng.Assert.*;