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 <[email protected]> Authored: Thu Oct 15 05:51:18 2015 +0530 Committer: Amareshwari Sriramadasu <[email protected]> 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.*;
