You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lens.apache.org by pr...@apache.org on 2015/05/05 14:03:21 UTC
[3/4] incubator-lens git commit: LENS-486: Implement stack for rest
response improvements, Implement improvements for subset of use cases
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-cube/src/main/java/org/apache/lens/cube/parse/TimerangeResolver.java
----------------------------------------------------------------------
diff --git a/lens-cube/src/main/java/org/apache/lens/cube/parse/TimerangeResolver.java b/lens-cube/src/main/java/org/apache/lens/cube/parse/TimerangeResolver.java
index c73b7ff..1a30228 100644
--- a/lens-cube/src/main/java/org/apache/lens/cube/parse/TimerangeResolver.java
+++ b/lens-cube/src/main/java/org/apache/lens/cube/parse/TimerangeResolver.java
@@ -22,11 +22,14 @@ import static org.apache.hadoop.hive.ql.parse.HiveParser.*;
import java.util.*;
+import org.apache.lens.cube.error.ColUnAvailableInTimeRange;
+import org.apache.lens.cube.error.ColUnAvailableInTimeRangeException;
import org.apache.lens.cube.metadata.AbstractCubeTable;
import org.apache.lens.cube.metadata.CubeColumn;
import org.apache.lens.cube.metadata.Dimension;
import org.apache.lens.cube.metadata.SchemaGraph;
import org.apache.lens.cube.parse.DenormalizationResolver.ReferencedQueriedColumn;
+import org.apache.lens.server.api.error.LensException;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
@@ -47,7 +50,7 @@ class TimerangeResolver implements ContextRewriter {
}
@Override
- public void rewriteContext(CubeQueryContext cubeql) throws SemanticException {
+ public void rewriteContext(CubeQueryContext cubeql) throws SemanticException, LensException {
if (cubeql.getCube() == null) {
return;
}
@@ -137,7 +140,8 @@ class TimerangeResolver implements ContextRewriter {
cubeql.getTimeRanges().add(range);
}
- private void doColLifeValidation(CubeQueryContext cubeql) throws SemanticException {
+ private void doColLifeValidation(CubeQueryContext cubeql) throws SemanticException,
+ ColUnAvailableInTimeRangeException {
Set<String> cubeColumns = cubeql.getColumnsQueried(cubeql.getCube().getName());
if (cubeColumns == null || cubeColumns.isEmpty()) {
// Query doesn't have any columns from cube
@@ -153,10 +157,8 @@ class TimerangeResolver implements ContextRewriter {
}
continue;
}
- if (isColumnLifeInvalid(column, range)) {
- throw new SemanticException(ErrorMsg.NOT_AVAILABLE_IN_RANGE, col, range.toString(),
- (column.getStartTime() == null ? "" : " from:" + column.getStartTime()), (column.getEndTime() == null
- ? "" : " upto:" + column.getEndTime()));
+ if (!column.isColumnAvailableInTimeRange(range)) {
+ throwException(column);
}
}
}
@@ -169,7 +171,7 @@ class TimerangeResolver implements ContextRewriter {
while (refColIter.hasNext()) {
ReferencedQueriedColumn refCol = refColIter.next();
for (TimeRange range : cubeql.getTimeRanges()) {
- if (isColumnLifeInvalid(refCol.col, range)) {
+ if (!refCol.col.isColumnAvailableInTimeRange(range)) {
LOG.debug("The refernced column:" + refCol.col.getName() + " is not in the range queried");
refColIter.remove();
break;
@@ -193,7 +195,7 @@ class TimerangeResolver implements ContextRewriter {
for (String col : joinColumns) {
CubeColumn column = cubeql.getCube().getColumnByName(col);
for (TimeRange range : cubeql.getTimeRanges()) {
- if (isColumnLifeInvalid(column, range)) {
+ if (!column.isColumnAvailableInTimeRange(range)) {
LOG.info("Timerange queried is not in column life for " + column
+ ", Removing join paths containing the column");
// Remove join paths containing this column
@@ -223,8 +225,17 @@ class TimerangeResolver implements ContextRewriter {
}
- private boolean isColumnLifeInvalid(CubeColumn column, TimeRange range) {
- return (column.getStartTime() != null && column.getStartTime().after(range.getFromDate()))
- || (column.getEndTime() != null && column.getEndTime().before(range.getToDate()));
+ private void throwException(CubeColumn column) throws ColUnAvailableInTimeRangeException {
+
+ final Long availabilityStartTime = (column.getStartTimeMillisSinceEpoch().isPresent())
+ ? column.getStartTimeMillisSinceEpoch().get() : null;
+
+ final Long availabilityEndTime = column.getEndTimeMillisSinceEpoch().isPresent()
+ ? column.getEndTimeMillisSinceEpoch().get() : null;
+
+ ColUnAvailableInTimeRange col = new ColUnAvailableInTimeRange(column.getName(), availabilityStartTime,
+ availabilityEndTime);
+
+ throw new ColUnAvailableInTimeRangeException(col);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-cube/src/main/java/org/apache/lens/driver/cube/RewriteUtil.java
----------------------------------------------------------------------
diff --git a/lens-cube/src/main/java/org/apache/lens/driver/cube/RewriteUtil.java b/lens-cube/src/main/java/org/apache/lens/driver/cube/RewriteUtil.java
index 04be157..5ecee19 100644
--- a/lens-cube/src/main/java/org/apache/lens/driver/cube/RewriteUtil.java
+++ b/lens-cube/src/main/java/org/apache/lens/driver/cube/RewriteUtil.java
@@ -18,16 +18,19 @@
*/
package org.apache.lens.driver.cube;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import org.apache.lens.api.LensException;
import org.apache.lens.cube.parse.CubeQueryContext;
import org.apache.lens.cube.parse.CubeQueryRewriter;
import org.apache.lens.cube.parse.HQLParser;
import org.apache.lens.server.api.driver.DriverQueryPlan;
import org.apache.lens.server.api.driver.LensDriver;
+import org.apache.lens.server.api.error.LensException;
import org.apache.lens.server.api.metrics.MethodMetricsContext;
import org.apache.lens.server.api.metrics.MethodMetricsFactory;
import org.apache.lens.server.api.query.AbstractQueryContext;
@@ -36,7 +39,6 @@ import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hive.conf.HiveConf;
import org.apache.hadoop.hive.ql.parse.ASTNode;
import org.apache.hadoop.hive.ql.parse.HiveParser;
-import org.apache.hadoop.hive.ql.parse.ParseException;
import org.apache.hadoop.hive.ql.parse.SemanticException;
import org.apache.log4j.Logger;
@@ -84,7 +86,9 @@ public final class RewriteUtil {
* @throws SemanticException the semantic exception
* @throws ParseException the parse exception
*/
- static List<CubeQueryInfo> findCubePositions(String query, HiveConf conf) throws SemanticException, ParseException {
+ static List<CubeQueryInfo> findCubePositions(String query, HiveConf conf)
+ throws SemanticException, LensException {
+
ASTNode ast = HQLParser.parseHQL(query, conf);
LOG.debug("User query AST:" + ast.dump());
List<CubeQueryInfo> cubeQueries = new ArrayList<CubeQueryInfo>();
@@ -225,6 +229,14 @@ public final class RewriteUtil {
}
return runnables;
+ } catch (LensException e) {
+
+ /* REST layer has to catch LensException and add additional information to it.
+ To enable REST layer to call methods on LensException instance, we have to propagate
+ LensException to the REST layer. Since there is a Exception e catch here,
+ we need to explicitly catch and rethrow LensException to enable us for the same.*/
+
+ throw e;
} catch (Exception e) {
throw new LensException("Rewriting failed, cause :" + e.getMessage(), e);
}
@@ -253,6 +265,9 @@ public final class RewriteUtil {
private String failureCause = null;
@Getter
+ private LensException cause;
+
+ @Getter
/** Get eventual rewritten query */
private String rewrittenQuery;
@@ -277,8 +292,8 @@ public final class RewriteUtil {
return;
}
- MethodMetricsContext rewriteGauge = MethodMetricsFactory.createMethodGauge(ctx.getDriverConf(driver), true,
- REWRITE_QUERY_GAUGE);
+ MethodMetricsContext rewriteGauge = MethodMetricsFactory
+ .createMethodGauge(ctx.getDriverConf(driver), true, REWRITE_QUERY_GAUGE);
StringBuilder builder = new StringBuilder();
int start = 0;
CubeQueryRewriter rewriter = null;
@@ -303,8 +318,8 @@ public final class RewriteUtil {
// Parse and rewrite individual cube query
CubeQueryContext cqc = rewriter.rewrite(cqi.query);
- MethodMetricsContext toHQLGauge = MethodMetricsFactory.createMethodGauge(ctx.getDriverConf(driver), true,
- qIndex + "-" + TOHQL_GAUGE);
+ MethodMetricsContext toHQLGauge = MethodMetricsFactory
+ .createMethodGauge(ctx.getDriverConf(driver), true, qIndex + "-" + TOHQL_GAUGE);
// toHQL actually generates the rewritten query
String hqlQuery = cqc.toHQL();
cubeQueryCtx.add(cqc);
@@ -327,14 +342,15 @@ public final class RewriteUtil {
succeeded = true;
ctx.setDriverQuery(driver, rewrittenQuery);
LOG.info("Final rewritten query for driver:" + driver + " is: " + rewrittenQuery);
+
+ } catch (final LensException e) {
+
+ this.cause = e;
+ captureExceptionInformation(e);
} catch (Exception e) {
+
// we are catching all exceptions sothat other drivers can be picked in case of driver bugs
- LOG.warn("Driver : " + driver + " Skipped for the query rewriting due to ", e);
- ctx.setDriverRewriteError(driver, e);
- failureCause = new StringBuilder(" Driver :")
- .append(driver.getClass().getName())
- .append(" Cause :" + e.getLocalizedMessage())
- .toString();
+ captureExceptionInformation(e);
} finally {
if (rewriter != null) {
rewriter.clear();
@@ -347,6 +363,16 @@ public final class RewriteUtil {
public String toString() {
return "Rewrite runnable for " + driver;
}
+
+ private void captureExceptionInformation(final Exception e) {
+
+ LOG.warn("Driver : " + driver + " Skipped for the query rewriting due to ", e);
+ ctx.setDriverRewriteError(driver, e);
+ failureCause = new StringBuilder(" Driver :")
+ .append(driver.getClass().getName())
+ .append(" Cause :" + e.getLocalizedMessage())
+ .toString();
+ }
}
/**
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-cube/src/test/java/org/apache/lens/cube/metadata/TestCubeMetastoreClient.java
----------------------------------------------------------------------
diff --git a/lens-cube/src/test/java/org/apache/lens/cube/metadata/TestCubeMetastoreClient.java b/lens-cube/src/test/java/org/apache/lens/cube/metadata/TestCubeMetastoreClient.java
index d4c109a..8c8d578 100644
--- a/lens-cube/src/test/java/org/apache/lens/cube/metadata/TestCubeMetastoreClient.java
+++ b/lens-cube/src/test/java/org/apache/lens/cube/metadata/TestCubeMetastoreClient.java
@@ -21,11 +21,11 @@ package org.apache.lens.cube.metadata;
import java.util.*;
-import org.apache.lens.api.LensException;
import org.apache.lens.cube.metadata.timeline.EndsAndHolesPartitionTimeline;
import org.apache.lens.cube.metadata.timeline.PartitionTimeline;
import org.apache.lens.cube.metadata.timeline.StoreAllPartitionTimeline;
import org.apache.lens.cube.parse.TimeRange;
+import org.apache.lens.server.api.error.LensException;
import org.apache.hadoop.hive.conf.HiveConf;
import org.apache.hadoop.hive.metastore.api.AlreadyExistsException;
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-cube/src/test/java/org/apache/lens/cube/metadata/TestTimePartition.java
----------------------------------------------------------------------
diff --git a/lens-cube/src/test/java/org/apache/lens/cube/metadata/TestTimePartition.java b/lens-cube/src/test/java/org/apache/lens/cube/metadata/TestTimePartition.java
index 9d5d08b..334ea4f 100644
--- a/lens-cube/src/test/java/org/apache/lens/cube/metadata/TestTimePartition.java
+++ b/lens-cube/src/test/java/org/apache/lens/cube/metadata/TestTimePartition.java
@@ -23,7 +23,7 @@ import static org.testng.Assert.*;
import java.util.Calendar;
import java.util.Date;
-import org.apache.lens.api.LensException;
+import org.apache.lens.server.api.error.LensException;
import org.testng.annotations.Test;
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-cube/src/test/java/org/apache/lens/cube/metadata/timeline/TestPartitionTimelines.java
----------------------------------------------------------------------
diff --git a/lens-cube/src/test/java/org/apache/lens/cube/metadata/timeline/TestPartitionTimelines.java b/lens-cube/src/test/java/org/apache/lens/cube/metadata/timeline/TestPartitionTimelines.java
index c87050f..0231e8b 100644
--- a/lens-cube/src/test/java/org/apache/lens/cube/metadata/timeline/TestPartitionTimelines.java
+++ b/lens-cube/src/test/java/org/apache/lens/cube/metadata/timeline/TestPartitionTimelines.java
@@ -20,10 +20,10 @@ package org.apache.lens.cube.metadata.timeline;
import java.util.*;
-import org.apache.lens.api.LensException;
import org.apache.lens.cube.metadata.TestTimePartition;
import org.apache.lens.cube.metadata.TimePartition;
import org.apache.lens.cube.metadata.UpdatePeriod;
+import org.apache.lens.server.api.error.LensException;
import org.testng.Assert;
import org.testng.annotations.Test;
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-cube/src/test/java/org/apache/lens/cube/parse/CubeTestSetup.java
----------------------------------------------------------------------
diff --git a/lens-cube/src/test/java/org/apache/lens/cube/parse/CubeTestSetup.java b/lens-cube/src/test/java/org/apache/lens/cube/parse/CubeTestSetup.java
index 5d9e97e..3203354 100644
--- a/lens-cube/src/test/java/org/apache/lens/cube/parse/CubeTestSetup.java
+++ b/lens-cube/src/test/java/org/apache/lens/cube/parse/CubeTestSetup.java
@@ -23,11 +23,11 @@ import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.*;
-import org.apache.lens.api.LensException;
import org.apache.lens.cube.metadata.*;
import org.apache.lens.cube.metadata.timeline.EndsAndHolesPartitionTimeline;
import org.apache.lens.cube.metadata.timeline.StoreAllPartitionTimeline;
import org.apache.lens.server.api.LensConfConstants;
+import org.apache.lens.server.api.error.LensException;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.time.DateUtils;
@@ -2114,7 +2114,7 @@ public class CubeTestSetup {
}
}
- public static void printQueryAST(String query, String label) throws ParseException {
+ public static void printQueryAST(String query, String label) throws LensException {
System.out.println("--" + label + "--AST--");
System.out.println("--query- " + query);
HQLParser.printAST(HQLParser.parseHQL(query, new HiveConf()));
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-cube/src/test/java/org/apache/lens/cube/parse/TestAggregateResolver.java
----------------------------------------------------------------------
diff --git a/lens-cube/src/test/java/org/apache/lens/cube/parse/TestAggregateResolver.java b/lens-cube/src/test/java/org/apache/lens/cube/parse/TestAggregateResolver.java
index 965ec94..37c578b 100644
--- a/lens-cube/src/test/java/org/apache/lens/cube/parse/TestAggregateResolver.java
+++ b/lens-cube/src/test/java/org/apache/lens/cube/parse/TestAggregateResolver.java
@@ -22,6 +22,8 @@ package org.apache.lens.cube.parse;
import static org.apache.lens.cube.parse.CubeTestSetup.*;
import static org.apache.lens.cube.parse.TestCubeRewriter.compareQueries;
+import org.apache.lens.server.api.error.LensException;
+
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hive.ql.parse.ParseException;
import org.apache.hadoop.hive.ql.parse.SemanticException;
@@ -150,7 +152,7 @@ public class TestAggregateResolver extends TestQueryRewrite {
}
@Test
- public void testDimOnlyDistinctQuery() throws SemanticException, ParseException {
+ public void testDimOnlyDistinctQuery() throws SemanticException, ParseException, LensException {
conf.setBoolean(CubeQueryConfUtil.DISABLE_AGGREGATE_RESOLVER, false);
@@ -199,7 +201,7 @@ public class TestAggregateResolver extends TestQueryRewrite {
}
@Test
- public void testAggregateResolverOff() throws SemanticException, ParseException {
+ public void testAggregateResolverOff() throws SemanticException, ParseException, LensException {
Configuration conf2 = getConf("C1,C2");
conf2.setBoolean(CubeQueryConfUtil.DISABLE_AGGREGATE_RESOLVER, true);
@@ -221,7 +223,7 @@ public class TestAggregateResolver extends TestQueryRewrite {
rawFactSelectionTests(conf2);
}
- private void aggregateFactSelectionTests(Configuration conf) throws SemanticException, ParseException {
+ private void aggregateFactSelectionTests(Configuration conf) throws SemanticException, ParseException, LensException {
String query = "SELECT count(distinct cityid) from testcube where " + TWO_DAYS_RANGE;
CubeQueryContext cubeql = rewriteCtx(query, conf);
String hQL = cubeql.toHQL();
@@ -265,7 +267,7 @@ public class TestAggregateResolver extends TestQueryRewrite {
compareQueries(expectedQL, hQL);
}
- private void rawFactSelectionTests(Configuration conf) throws SemanticException, ParseException {
+ private void rawFactSelectionTests(Configuration conf) throws SemanticException, ParseException, LensException {
// Check a query with non default aggregate function
String query = "SELECT cityid, avg(testCube.msr2) FROM testCube WHERE " + TWO_DAYS_RANGE;
CubeQueryContext cubeql = rewriteCtx(query, conf);
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-cube/src/test/java/org/apache/lens/cube/parse/TestCubeRewriter.java
----------------------------------------------------------------------
diff --git a/lens-cube/src/test/java/org/apache/lens/cube/parse/TestCubeRewriter.java b/lens-cube/src/test/java/org/apache/lens/cube/parse/TestCubeRewriter.java
index 097f228..c915353 100644
--- a/lens-cube/src/test/java/org/apache/lens/cube/parse/TestCubeRewriter.java
+++ b/lens-cube/src/test/java/org/apache/lens/cube/parse/TestCubeRewriter.java
@@ -27,6 +27,7 @@ import org.apache.lens.cube.metadata.*;
import org.apache.lens.cube.parse.CandidateTablePruneCause.CandidateTablePruneCode;
import org.apache.lens.cube.parse.CandidateTablePruneCause.SkipStorageCause;
import org.apache.lens.cube.parse.CandidateTablePruneCause.SkipStorageCode;
+import org.apache.lens.server.api.error.LensException;
import org.apache.commons.lang.time.DateUtils;
import org.apache.hadoop.conf.Configuration;
@@ -99,11 +100,6 @@ public class TestCubeRewriter extends TestQueryRewrite {
compareQueries(expected, rewrittenQuery.toHQL());
System.out.println("Non existing parts:" + rewrittenQuery.getNonExistingParts());
Assert.assertNotNull(rewrittenQuery.getNonExistingParts());
-
- // Query with column life not in the range
- SemanticException th = getSemanticExceptionInRewrite(
- "cube select SUM(newmeasure) from testCube" + " where " + TWO_DAYS_RANGE, getC2Conf());
- Assert.assertEquals(th.getCanonicalErrorMsg().getErrorCode(), ErrorMsg.NOT_AVAILABLE_IN_RANGE.getErrorCode());
}
@Test
@@ -160,7 +156,7 @@ public class TestCubeRewriter extends TestQueryRewrite {
}
@Test
- public void testDerivedCube() throws SemanticException, ParseException {
+ public void testDerivedCube() throws SemanticException, ParseException, LensException {
CubeQueryContext rewrittenQuery =
rewriteCtx("cube select" + " SUM(msr2) from derivedCube where " + TWO_DAYS_RANGE, getC2Conf());
String expected =
@@ -823,7 +819,8 @@ public class TestCubeRewriter extends TestQueryRewrite {
@Test
public void testSelectExprPromotionToGroupByWithSpacesInDimensionAliasAndWithAsKeywordBwColAndAlias()
- throws SemanticException, ParseException {
+ throws SemanticException, ParseException, LensException {
+
String inputQuery = "cube select name as `Alias With Spaces`, SUM(msr2) as `TestMeasure` from testCube join citydim"
+ " on testCube.cityid = citydim.id where " + LAST_HOUR_TIME_RANGE;
@@ -839,7 +836,7 @@ public class TestCubeRewriter extends TestQueryRewrite {
@Test
public void testSelectExprPromotionToGroupByWithSpacesInDimensionAliasAndWithoutAsKeywordBwColAndAlias()
- throws SemanticException, ParseException {
+ throws SemanticException, ParseException, LensException {
String inputQuery = "cube select name `Alias With Spaces`, SUM(msr2) as `TestMeasure` from testCube join citydim"
+ " on testCube.cityid = citydim.id where " + LAST_HOUR_TIME_RANGE;
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-cube/src/test/java/org/apache/lens/cube/parse/TestDenormalizationResolver.java
----------------------------------------------------------------------
diff --git a/lens-cube/src/test/java/org/apache/lens/cube/parse/TestDenormalizationResolver.java b/lens-cube/src/test/java/org/apache/lens/cube/parse/TestDenormalizationResolver.java
index c9972e2..29240b6 100644
--- a/lens-cube/src/test/java/org/apache/lens/cube/parse/TestDenormalizationResolver.java
+++ b/lens-cube/src/test/java/org/apache/lens/cube/parse/TestDenormalizationResolver.java
@@ -26,6 +26,7 @@ import java.util.HashMap;
import java.util.List;
import org.apache.lens.cube.parse.CandidateTablePruneCause.CandidateTablePruneCode;
+import org.apache.lens.server.api.error.LensException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hive.ql.parse.ParseException;
@@ -51,7 +52,7 @@ public class TestDenormalizationResolver extends TestQueryRewrite {
}
@Test
- public void testDenormsAsDirectFields() throws SemanticException, ParseException {
+ public void testDenormsAsDirectFields() throws SemanticException, ParseException, LensException {
// denorm fields directly available
String twoDaysITRange =
"time_range_in(it, '" + CubeTestSetup.getDateUptoHours(TWODAYS_BACK) + "','"
@@ -79,8 +80,6 @@ public class TestDenormalizationResolver extends TestQueryRewrite {
" group by testcube.dim2big2", getWhereForDailyAndHourly2daysWithTimeDim(cubeName, "it", "C2_summary4"),
getNotLatestConditions(cubeName, "it", "C2_summary4"));
TestCubeRewriter.compareQueries(expecteddim2big2, hqlQuery);
- getSemanticExceptionInRewrite(
- "select dim2bignew, max(msr3)," + " msr2 from testCube" + " where " + twoDaysITRange, conf);
hqlQuery =
rewrite("select testdim3.name, dim2big1, max(msr3)," + " msr2 from testCube" + " where " + twoDaysITRange, conf);
@@ -104,7 +103,7 @@ public class TestDenormalizationResolver extends TestQueryRewrite {
}
@Test
- public void testDenormsWithJoins() throws SemanticException, ParseException {
+ public void testDenormsWithJoins() throws SemanticException, ParseException, LensException {
// all following queries use joins to get denorm fields
Configuration tconf = new Configuration(this.conf);
tconf.set(CubeQueryConfUtil.DRIVER_SUPPORTED_STORAGES, "C1");
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-cube/src/test/java/org/apache/lens/cube/parse/TestExpressionResolver.java
----------------------------------------------------------------------
diff --git a/lens-cube/src/test/java/org/apache/lens/cube/parse/TestExpressionResolver.java b/lens-cube/src/test/java/org/apache/lens/cube/parse/TestExpressionResolver.java
index aa57c7d..a78bcbd 100644
--- a/lens-cube/src/test/java/org/apache/lens/cube/parse/TestExpressionResolver.java
+++ b/lens-cube/src/test/java/org/apache/lens/cube/parse/TestExpressionResolver.java
@@ -25,6 +25,7 @@ import java.util.ArrayList;
import java.util.List;
import org.apache.lens.cube.metadata.StorageConstants;
+import org.apache.lens.server.api.error.LensException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hive.ql.ErrorMsg;
@@ -61,11 +62,6 @@ public class TestExpressionResolver extends TestQueryRewrite {
conf);
Assert.assertEquals(th.getCanonicalErrorMsg().getErrorCode(), ErrorMsg.COLUMN_NOT_FOUND.getErrorCode());
Assert.assertTrue(th.getMessage().contains("invalidexpr"));
-
- // Query with column life not in the range
- th = getSemanticExceptionInRewrite("cube select newexpr, SUM(msr2) from testCube" + " where " + TWO_DAYS_RANGE,
- conf);
- Assert.assertEquals(th.getCanonicalErrorMsg().getErrorCode(), ErrorMsg.NOT_AVAILABLE_IN_RANGE.getErrorCode());
}
@Test
@@ -230,7 +226,7 @@ public class TestExpressionResolver extends TestQueryRewrite {
}
@Test
- public void testDerivedCube() throws SemanticException, ParseException {
+ public void testDerivedCube() throws SemanticException, ParseException, LensException {
SemanticException th =
getSemanticExceptionInRewrite("select avgmsr from derivedCube" + " where " + TWO_DAYS_RANGE, conf);
Assert.assertEquals(th.getCanonicalErrorMsg().getErrorCode(), ErrorMsg.COLUMN_NOT_FOUND.getErrorCode());
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-cube/src/test/java/org/apache/lens/cube/parse/TestHQLParser.java
----------------------------------------------------------------------
diff --git a/lens-cube/src/test/java/org/apache/lens/cube/parse/TestHQLParser.java b/lens-cube/src/test/java/org/apache/lens/cube/parse/TestHQLParser.java
index 8761c51..fef634d 100644
--- a/lens-cube/src/test/java/org/apache/lens/cube/parse/TestHQLParser.java
+++ b/lens-cube/src/test/java/org/apache/lens/cube/parse/TestHQLParser.java
@@ -21,6 +21,8 @@ package org.apache.lens.cube.parse;
import static org.apache.hadoop.hive.ql.parse.HiveParser.*;
+import org.apache.lens.server.api.error.LensException;
+
import org.apache.hadoop.hive.conf.HiveConf;
import org.apache.hadoop.hive.ql.parse.ASTNode;
import org.apache.hadoop.hive.ql.parse.HiveParser;
@@ -315,7 +317,7 @@ public class TestHQLParser {
}
@Test
- public void testCastStatement() throws ParseException {
+ public void testCastStatement() throws ParseException, LensException {
String castSelect = "cast(( a + b ) as tinyint), cast(( a + b ) as smallint), cast(( a + b ) as int),"
+ " cast(( a + b ) as bigint), cast(( a + b ) as float), cast(( a + b ) as double),"
+ " cast(( a + b ) as boolean), cast( a as date), cast( b as datetime), cast( a as timestamp),"
@@ -332,7 +334,7 @@ public class TestHQLParser {
}
@Test
- public void testOtherStatements() throws ParseException {
+ public void testOtherStatements() throws ParseException, LensException {
String select = "3.1415926BD";
String query = "select " + select + " from table limit 1";
ASTNode tree = HQLParser.parseHQL(query, conf);
@@ -340,5 +342,4 @@ public class TestHQLParser {
String genQuery = HQLParser.getString(selectAST);
Assert.assertEquals(genQuery, select);
}
-
}
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-cube/src/test/java/org/apache/lens/cube/parse/TestJoinResolver.java
----------------------------------------------------------------------
diff --git a/lens-cube/src/test/java/org/apache/lens/cube/parse/TestJoinResolver.java b/lens-cube/src/test/java/org/apache/lens/cube/parse/TestJoinResolver.java
index cb078e3..2c8dab3 100644
--- a/lens-cube/src/test/java/org/apache/lens/cube/parse/TestJoinResolver.java
+++ b/lens-cube/src/test/java/org/apache/lens/cube/parse/TestJoinResolver.java
@@ -25,6 +25,7 @@ import java.util.*;
import org.apache.lens.cube.metadata.*;
import org.apache.lens.cube.metadata.SchemaGraph.TableRelationship;
+import org.apache.lens.server.api.error.LensException;
import org.apache.commons.lang.StringUtils;
import org.apache.hadoop.conf.Configuration;
@@ -372,7 +373,7 @@ public class TestJoinResolver extends TestQueryRewrite {
}
@Test
- public void testJoinChains() throws SemanticException, ParseException {
+ public void testJoinChains() throws SemanticException, ParseException, LensException {
String query, hqlQuery, expected;
// Single joinchain with direct link
@@ -570,7 +571,7 @@ public class TestJoinResolver extends TestQueryRewrite {
}
@Test
- public void testConflictingJoins() throws ParseException {
+ public void testConflictingJoins() throws ParseException, LensException {
// Single joinchain with two paths, intermediate dimension accessed separately by name.
String query = "select cityState.name, citydim.name, sum(msr2) from basecube where " + TWO_DAYS_RANGE;
try {
@@ -643,7 +644,7 @@ public class TestJoinResolver extends TestQueryRewrite {
}
@Test
- public void testMultiPaths() throws SemanticException, ParseException {
+ public void testMultiPaths() throws SemanticException, ParseException, LensException {
String query, hqlQuery, expected;
query = "select testdim3.name, sum(msr2) from testcube where " + TWO_DAYS_RANGE;
@@ -721,7 +722,7 @@ public class TestJoinResolver extends TestQueryRewrite {
}
@Test
- public void testChainsWithMultipleStorage() throws ParseException, HiveException {
+ public void testChainsWithMultipleStorage() throws ParseException, HiveException, LensException {
Configuration conf = new Configuration(hconf);
conf.unset(CubeQueryConfUtil.DRIVER_SUPPORTED_STORAGES); // supports all storages
String dimOnlyQuery = "select testDim2.name, testDim2.cityStateCapital FROM testDim2 where " + TWO_DAYS_RANGE;
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-cube/src/test/java/org/apache/lens/cube/parse/TestQueryRewrite.java
----------------------------------------------------------------------
diff --git a/lens-cube/src/test/java/org/apache/lens/cube/parse/TestQueryRewrite.java b/lens-cube/src/test/java/org/apache/lens/cube/parse/TestQueryRewrite.java
index c4449da..06de5cd 100644
--- a/lens-cube/src/test/java/org/apache/lens/cube/parse/TestQueryRewrite.java
+++ b/lens-cube/src/test/java/org/apache/lens/cube/parse/TestQueryRewrite.java
@@ -21,6 +21,8 @@ package org.apache.lens.cube.parse;
import java.io.IOException;
+import org.apache.lens.server.api.error.LensException;
+
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hive.conf.HiveConf;
import org.apache.hadoop.hive.ql.parse.ParseException;
@@ -60,13 +62,14 @@ public abstract class TestQueryRewrite {
SessionState.get().setCurrentDatabase(TestQueryRewrite.class.getSimpleName());
}
- protected String rewrite(String query, Configuration conf) throws SemanticException, ParseException {
+ protected String rewrite(String query, Configuration conf) throws SemanticException, ParseException, LensException {
String rewrittenQuery = rewriteCtx(query, conf).toHQL();
log.info("Rewritten query: {}", rewrittenQuery);
return rewrittenQuery;
}
- protected CubeQueryContext rewriteCtx(String query, Configuration conf) throws SemanticException, ParseException {
+ protected CubeQueryContext rewriteCtx(String query, Configuration conf)
+ throws SemanticException, ParseException, LensException {
log.info("User query: {}", query);
CubeQueryRewriter driver = new CubeQueryRewriter(conf, hconf);
return driver.rewrite(query);
@@ -82,7 +85,8 @@ public abstract class TestQueryRewrite {
}
}
- protected SemanticException getSemanticExceptionInRewrite(String query, Configuration conf) throws ParseException {
+ protected SemanticException getSemanticExceptionInRewrite(String query, Configuration conf)
+ throws ParseException, LensException {
try {
String hql = rewrite(query, conf);
Assert.fail("Should have thrown exception. But rewrote the query : " + hql);
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-cube/src/test/java/org/apache/lens/cube/parse/TestRewriterPlan.java
----------------------------------------------------------------------
diff --git a/lens-cube/src/test/java/org/apache/lens/cube/parse/TestRewriterPlan.java b/lens-cube/src/test/java/org/apache/lens/cube/parse/TestRewriterPlan.java
index f039977..79d9be3 100644
--- a/lens-cube/src/test/java/org/apache/lens/cube/parse/TestRewriterPlan.java
+++ b/lens-cube/src/test/java/org/apache/lens/cube/parse/TestRewriterPlan.java
@@ -25,6 +25,7 @@ import java.util.Arrays;
import java.util.Collections;
import org.apache.lens.driver.cube.RewriterPlan;
+import org.apache.lens.server.api.error.LensException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hive.ql.parse.ParseException;
@@ -110,7 +111,7 @@ public class TestRewriterPlan extends TestQueryRewrite {
}
@Test
- public void testUnimplemented() throws SemanticException, ParseException {
+ public void testUnimplemented() throws SemanticException, ParseException, LensException {
CubeQueryContext ctx = rewriteCtx("cube select SUM(msr2) from testCube where " + TWO_DAYS_RANGE, conf);
ctx.toHQL();
RewriterPlan plan = new RewriterPlan(Collections.singleton(ctx));
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-cube/src/test/java/org/apache/lens/cube/parse/TestTimeRangeExtractor.java
----------------------------------------------------------------------
diff --git a/lens-cube/src/test/java/org/apache/lens/cube/parse/TestTimeRangeExtractor.java b/lens-cube/src/test/java/org/apache/lens/cube/parse/TestTimeRangeExtractor.java
index f19221b..bd51971 100644
--- a/lens-cube/src/test/java/org/apache/lens/cube/parse/TestTimeRangeExtractor.java
+++ b/lens-cube/src/test/java/org/apache/lens/cube/parse/TestTimeRangeExtractor.java
@@ -24,6 +24,7 @@ import static org.apache.lens.cube.parse.CubeTestSetup.*;
import java.util.List;
import org.apache.lens.cube.metadata.TestCubeMetastoreClient;
+import org.apache.lens.server.api.error.LensException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hive.conf.HiveConf;
@@ -52,7 +53,8 @@ public class TestTimeRangeExtractor extends TestQueryRewrite {
public void closeInstance() throws Exception {
}
- public static String rewrite(CubeQueryRewriter driver, String query) throws SemanticException, ParseException {
+ public static String rewrite(CubeQueryRewriter driver, String query)
+ throws SemanticException, ParseException, LensException {
CubeQueryContext rewrittenQuery = driver.rewrite(query);
return rewrittenQuery.toHQL();
}
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-cube/src/test/java/org/apache/lens/driver/cube/TestMinCostSelector.java
----------------------------------------------------------------------
diff --git a/lens-cube/src/test/java/org/apache/lens/driver/cube/TestMinCostSelector.java b/lens-cube/src/test/java/org/apache/lens/driver/cube/TestMinCostSelector.java
index 68d61d0..72f1497 100644
--- a/lens-cube/src/test/java/org/apache/lens/driver/cube/TestMinCostSelector.java
+++ b/lens-cube/src/test/java/org/apache/lens/driver/cube/TestMinCostSelector.java
@@ -24,8 +24,11 @@ import java.util.List;
import java.util.Map;
import org.apache.lens.api.LensConf;
-import org.apache.lens.api.LensException;
-import org.apache.lens.server.api.driver.*;
+import org.apache.lens.server.api.driver.LensDriver;
+import org.apache.lens.server.api.driver.MinQueryCostSelector;
+import org.apache.lens.server.api.driver.MockDriver;
+import org.apache.lens.server.api.driver.MockFailDriver;
+import org.apache.lens.server.api.error.LensException;
import org.apache.lens.server.api.query.MockQueryContext;
import org.apache.hadoop.conf.Configuration;
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-cube/src/test/java/org/apache/lens/driver/cube/TestRewriting.java
----------------------------------------------------------------------
diff --git a/lens-cube/src/test/java/org/apache/lens/driver/cube/TestRewriting.java b/lens-cube/src/test/java/org/apache/lens/driver/cube/TestRewriting.java
index c64a270..2dac223 100644
--- a/lens-cube/src/test/java/org/apache/lens/driver/cube/TestRewriting.java
+++ b/lens-cube/src/test/java/org/apache/lens/driver/cube/TestRewriting.java
@@ -23,13 +23,13 @@ import static org.mockito.Matchers.any;
import java.util.*;
import org.apache.lens.api.LensConf;
-import org.apache.lens.api.LensException;
import org.apache.lens.cube.parse.CubeQueryContext;
import org.apache.lens.cube.parse.CubeQueryRewriter;
import org.apache.lens.cube.parse.HQLParser;
import org.apache.lens.server.api.LensConfConstants;
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.lens.server.api.metrics.LensMetricsRegistry;
import org.apache.lens.server.api.query.QueryContext;
@@ -79,7 +79,7 @@ public class TestRewriting {
// change the number, if more tests for success needs to be added
static final int NUM_SUCCESS = 36;
- private CubeQueryRewriter getMockedRewriter() throws SemanticException, ParseException {
+ private CubeQueryRewriter getMockedRewriter() throws SemanticException, ParseException, LensException {
CubeQueryRewriter mockwriter = Mockito.mock(CubeQueryRewriter.class);
Mockito.when(mockwriter.rewrite(any(String.class))).thenAnswer(new Answer<CubeQueryContext>() {
@Override
@@ -112,7 +112,8 @@ public class TestRewriting {
* @throws SemanticException the semantic exception
* @throws ParseException the parse exception
*/
- private CubeQueryContext getMockedCubeContext(String query) throws SemanticException, ParseException {
+ private CubeQueryContext getMockedCubeContext(String query)
+ throws SemanticException, ParseException, LensException {
CubeQueryContext context = Mockito.mock(CubeQueryContext.class);
Mockito.when(context.toHQL()).thenReturn(query.substring(4));
Mockito.when(context.toAST(any(Context.class))).thenReturn(HQLParser.parseHQL(query.substring(4), hconf));
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-driver-hive/src/main/java/org/apache/lens/driver/hive/EmbeddedThriftConnection.java
----------------------------------------------------------------------
diff --git a/lens-driver-hive/src/main/java/org/apache/lens/driver/hive/EmbeddedThriftConnection.java b/lens-driver-hive/src/main/java/org/apache/lens/driver/hive/EmbeddedThriftConnection.java
index bfb9e9d..0b46485 100644
--- a/lens-driver-hive/src/main/java/org/apache/lens/driver/hive/EmbeddedThriftConnection.java
+++ b/lens-driver-hive/src/main/java/org/apache/lens/driver/hive/EmbeddedThriftConnection.java
@@ -20,7 +20,7 @@ package org.apache.lens.driver.hive;
import java.io.IOException;
-import org.apache.lens.api.LensException;
+import org.apache.lens.server.api.error.LensException;
import org.apache.hadoop.hive.conf.HiveConf;
import org.apache.hive.service.cli.thrift.EmbeddedThriftBinaryCLIService;
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/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 cc944b7..43985ba 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
@@ -35,7 +35,6 @@ import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
import org.apache.lens.api.LensConf;
-import org.apache.lens.api.LensException;
import org.apache.lens.api.LensSessionHandle;
import org.apache.lens.api.query.QueryCost;
import org.apache.lens.api.query.QueryHandle;
@@ -44,6 +43,7 @@ import org.apache.lens.driver.hive.priority.DurationBasedQueryPriorityDecider;
import org.apache.lens.server.api.LensConfConstants;
import org.apache.lens.server.api.driver.*;
import org.apache.lens.server.api.driver.DriverQueryStatus.DriverQueryState;
+import org.apache.lens.server.api.error.LensException;
import org.apache.lens.server.api.events.LensEventListener;
import org.apache.lens.server.api.priority.QueryPriorityDecider;
import org.apache.lens.server.api.query.AbstractQueryContext;
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-driver-hive/src/main/java/org/apache/lens/driver/hive/HiveInMemoryResultSet.java
----------------------------------------------------------------------
diff --git a/lens-driver-hive/src/main/java/org/apache/lens/driver/hive/HiveInMemoryResultSet.java b/lens-driver-hive/src/main/java/org/apache/lens/driver/hive/HiveInMemoryResultSet.java
index 2c8ee78..a953ec6 100644
--- a/lens-driver-hive/src/main/java/org/apache/lens/driver/hive/HiveInMemoryResultSet.java
+++ b/lens-driver-hive/src/main/java/org/apache/lens/driver/hive/HiveInMemoryResultSet.java
@@ -23,10 +23,10 @@ import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
-import org.apache.lens.api.LensException;
import org.apache.lens.api.query.ResultRow;
import org.apache.lens.server.api.driver.InMemoryResultSet;
import org.apache.lens.server.api.driver.LensResultSetMetadata;
+import org.apache.lens.server.api.error.LensException;
import org.apache.hive.service.cli.*;
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-driver-hive/src/main/java/org/apache/lens/driver/hive/HivePersistentResultSet.java
----------------------------------------------------------------------
diff --git a/lens-driver-hive/src/main/java/org/apache/lens/driver/hive/HivePersistentResultSet.java b/lens-driver-hive/src/main/java/org/apache/lens/driver/hive/HivePersistentResultSet.java
index 7a6486b..82b0568 100644
--- a/lens-driver-hive/src/main/java/org/apache/lens/driver/hive/HivePersistentResultSet.java
+++ b/lens-driver-hive/src/main/java/org/apache/lens/driver/hive/HivePersistentResultSet.java
@@ -18,9 +18,9 @@
*/
package org.apache.lens.driver.hive;
-import org.apache.lens.api.LensException;
import org.apache.lens.server.api.driver.LensResultSetMetadata;
import org.apache.lens.server.api.driver.PersistentResultSet;
+import org.apache.lens.server.api.error.LensException;
import org.apache.hadoop.fs.Path;
import org.apache.hive.service.cli.CLIServiceClient;
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-driver-hive/src/main/java/org/apache/lens/driver/hive/RemoteThriftConnection.java
----------------------------------------------------------------------
diff --git a/lens-driver-hive/src/main/java/org/apache/lens/driver/hive/RemoteThriftConnection.java b/lens-driver-hive/src/main/java/org/apache/lens/driver/hive/RemoteThriftConnection.java
index a365fbe..0104670 100644
--- a/lens-driver-hive/src/main/java/org/apache/lens/driver/hive/RemoteThriftConnection.java
+++ b/lens-driver-hive/src/main/java/org/apache/lens/driver/hive/RemoteThriftConnection.java
@@ -18,7 +18,7 @@
*/
package org.apache.lens.driver.hive;
-import org.apache.lens.api.LensException;
+import org.apache.lens.server.api.error.LensException;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-driver-hive/src/main/java/org/apache/lens/driver/hive/ThriftConnection.java
----------------------------------------------------------------------
diff --git a/lens-driver-hive/src/main/java/org/apache/lens/driver/hive/ThriftConnection.java b/lens-driver-hive/src/main/java/org/apache/lens/driver/hive/ThriftConnection.java
index 98046ce..37e2bdd 100644
--- a/lens-driver-hive/src/main/java/org/apache/lens/driver/hive/ThriftConnection.java
+++ b/lens-driver-hive/src/main/java/org/apache/lens/driver/hive/ThriftConnection.java
@@ -20,7 +20,7 @@ package org.apache.lens.driver.hive;
import java.io.Closeable;
-import org.apache.lens.api.LensException;
+import org.apache.lens.server.api.error.LensException;
import org.apache.hadoop.hive.conf.HiveConf;
import org.apache.hive.service.cli.CLIServiceClient;
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-driver-hive/src/main/java/org/apache/lens/driver/hive/priority/DurationBasedQueryPriorityDecider.java
----------------------------------------------------------------------
diff --git a/lens-driver-hive/src/main/java/org/apache/lens/driver/hive/priority/DurationBasedQueryPriorityDecider.java b/lens-driver-hive/src/main/java/org/apache/lens/driver/hive/priority/DurationBasedQueryPriorityDecider.java
index a26ed0c..bc1ec1c 100644
--- a/lens-driver-hive/src/main/java/org/apache/lens/driver/hive/priority/DurationBasedQueryPriorityDecider.java
+++ b/lens-driver-hive/src/main/java/org/apache/lens/driver/hive/priority/DurationBasedQueryPriorityDecider.java
@@ -21,11 +21,11 @@ package org.apache.lens.driver.hive.priority;
import java.util.Map;
import java.util.Set;
-import org.apache.lens.api.LensException;
import org.apache.lens.api.Priority;
import org.apache.lens.cube.metadata.FactPartition;
import org.apache.lens.cube.metadata.UpdatePeriod;
import org.apache.lens.server.api.driver.LensDriver;
+import org.apache.lens.server.api.error.LensException;
import org.apache.lens.server.api.priority.CostToPriorityRangeConf;
import org.apache.lens.server.api.priority.QueryPriorityDecider;
import org.apache.lens.server.api.query.AbstractQueryContext;
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/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 dfc178f..71fbc74 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
@@ -25,7 +25,6 @@ import java.text.ParseException;
import java.util.*;
import org.apache.lens.api.LensConf;
-import org.apache.lens.api.LensException;
import org.apache.lens.api.Priority;
import org.apache.lens.api.query.QueryCost;
import org.apache.lens.api.query.QueryHandle;
@@ -33,8 +32,12 @@ import org.apache.lens.cube.metadata.FactPartition;
import org.apache.lens.cube.metadata.UpdatePeriod;
import org.apache.lens.driver.hive.priority.DurationBasedQueryPriorityDecider;
import org.apache.lens.server.api.LensConfConstants;
-import org.apache.lens.server.api.driver.*;
+import org.apache.lens.server.api.driver.DriverQueryPlan;
import org.apache.lens.server.api.driver.DriverQueryStatus.DriverQueryState;
+import org.apache.lens.server.api.driver.LensDriver;
+import org.apache.lens.server.api.driver.LensResultSet;
+import org.apache.lens.server.api.driver.LensResultSetMetadata;
+import org.apache.lens.server.api.error.LensException;
import org.apache.lens.server.api.query.AbstractQueryContext;
import org.apache.lens.server.api.query.ExplainQueryContext;
import org.apache.lens.server.api.query.PreparedQueryContext;
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-driver-hive/src/test/java/org/apache/lens/driver/hive/TestRemoteHiveDriver.java
----------------------------------------------------------------------
diff --git a/lens-driver-hive/src/test/java/org/apache/lens/driver/hive/TestRemoteHiveDriver.java b/lens-driver-hive/src/test/java/org/apache/lens/driver/hive/TestRemoteHiveDriver.java
index b9fb247..f0566c8 100644
--- a/lens-driver-hive/src/test/java/org/apache/lens/driver/hive/TestRemoteHiveDriver.java
+++ b/lens-driver-hive/src/test/java/org/apache/lens/driver/hive/TestRemoteHiveDriver.java
@@ -26,12 +26,12 @@ import java.util.Arrays;
import java.util.List;
import java.util.concurrent.atomic.AtomicInteger;
-import org.apache.lens.api.LensException;
import org.apache.lens.api.query.QueryHandle;
import org.apache.lens.server.api.LensConfConstants;
import org.apache.lens.server.api.driver.DriverQueryPlan;
import org.apache.lens.server.api.driver.DriverQueryStatus.DriverQueryState;
import org.apache.lens.server.api.driver.LensDriver;
+import org.apache.lens.server.api.error.LensException;
import org.apache.lens.server.api.query.QueryContext;
import org.apache.commons.io.FileUtils;
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-driver-jdbc/src/main/java/org/apache/lens/driver/jdbc/ColumnarSQLRewriter.java
----------------------------------------------------------------------
diff --git a/lens-driver-jdbc/src/main/java/org/apache/lens/driver/jdbc/ColumnarSQLRewriter.java b/lens-driver-jdbc/src/main/java/org/apache/lens/driver/jdbc/ColumnarSQLRewriter.java
index 749e0dd..51a06c4 100644
--- a/lens-driver-jdbc/src/main/java/org/apache/lens/driver/jdbc/ColumnarSQLRewriter.java
+++ b/lens-driver-jdbc/src/main/java/org/apache/lens/driver/jdbc/ColumnarSQLRewriter.java
@@ -22,11 +22,11 @@ import static org.apache.hadoop.hive.ql.parse.HiveParser.*;
import java.util.*;
-import org.apache.lens.api.LensException;
import org.apache.lens.cube.metadata.CubeMetastoreClient;
import org.apache.lens.cube.parse.CubeSemanticAnalyzer;
import org.apache.lens.cube.parse.HQLParser;
import org.apache.lens.server.api.LensConfConstants;
+import org.apache.lens.server.api.error.LensException;
import org.apache.lens.server.api.query.QueryRewriter;
import org.apache.commons.lang.StringUtils;
@@ -36,7 +36,10 @@ import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hive.conf.HiveConf;
import org.apache.hadoop.hive.ql.metadata.HiveException;
import org.apache.hadoop.hive.ql.metadata.Table;
-import org.apache.hadoop.hive.ql.parse.*;
+import org.apache.hadoop.hive.ql.parse.ASTNode;
+import org.apache.hadoop.hive.ql.parse.HiveParser;
+import org.apache.hadoop.hive.ql.parse.QB;
+import org.apache.hadoop.hive.ql.parse.SemanticException;
import org.antlr.runtime.CommonToken;
@@ -1055,8 +1058,6 @@ public class ColumnarSQLRewriter implements QueryRewriter {
LOG.info("Input Query : " + query);
LOG.info("Rewritten Query : " + queryReplacedUdf);
}
- } catch (ParseException e) {
- throw new LensException(e);
} catch (SemanticException e) {
throw new LensException(e);
}
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-driver-jdbc/src/main/java/org/apache/lens/driver/jdbc/JDBCDriver.java
----------------------------------------------------------------------
diff --git a/lens-driver-jdbc/src/main/java/org/apache/lens/driver/jdbc/JDBCDriver.java b/lens-driver-jdbc/src/main/java/org/apache/lens/driver/jdbc/JDBCDriver.java
index 2346b52..87e4638 100644
--- a/lens-driver-jdbc/src/main/java/org/apache/lens/driver/jdbc/JDBCDriver.java
+++ b/lens-driver-jdbc/src/main/java/org/apache/lens/driver/jdbc/JDBCDriver.java
@@ -33,13 +33,13 @@ import java.util.concurrent.*;
import java.util.concurrent.atomic.AtomicInteger;
import org.apache.lens.api.LensConf;
-import org.apache.lens.api.LensException;
import org.apache.lens.api.query.QueryCost;
import org.apache.lens.api.query.QueryHandle;
import org.apache.lens.api.query.QueryPrepareHandle;
import org.apache.lens.cube.parse.HQLParser;
import org.apache.lens.server.api.driver.*;
import org.apache.lens.server.api.driver.DriverQueryStatus.DriverQueryState;
+import org.apache.lens.server.api.error.LensException;
import org.apache.lens.server.api.events.LensEventListener;
import org.apache.lens.server.api.metrics.MethodMetricsContext;
import org.apache.lens.server.api.metrics.MethodMetricsFactory;
@@ -53,7 +53,6 @@ import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hive.conf.HiveConf;
import org.apache.hadoop.hive.ql.parse.ASTNode;
import org.apache.hadoop.hive.ql.parse.HiveParser;
-import org.apache.hadoop.hive.ql.parse.ParseException;
import org.apache.log4j.Logger;
import lombok.Getter;
@@ -509,20 +508,17 @@ public class JDBCDriver implements LensDriver {
MethodMetricsContext checkForAllowedQuery = MethodMetricsFactory.createMethodGauge(driverQueryConf, true,
CHECK_ALLOWED_QUERY);
// check if it is select query
- try {
- ASTNode ast = HQLParser.parseHQL(query, ctx.getHiveConf());
- if (ast.getToken().getType() != HiveParser.TOK_QUERY) {
+
+ ASTNode ast = HQLParser.parseHQL(query, ctx.getHiveConf());
+ if (ast.getToken().getType() != HiveParser.TOK_QUERY) {
+ throw new LensException("Not allowed statement:" + query);
+ } else {
+ // check for insert clause
+ ASTNode dest = HQLParser.findNodeByPath(ast, HiveParser.TOK_INSERT);
+ if (dest != null
+ && ((ASTNode) (dest.getChild(0).getChild(0).getChild(0))).getToken().getType() != TOK_TMP_FILE) {
throw new LensException("Not allowed statement:" + query);
- } else {
- // check for insert clause
- ASTNode dest = HQLParser.findNodeByPath(ast, HiveParser.TOK_INSERT);
- if (dest != null
- && ((ASTNode) (dest.getChild(0).getChild(0).getChild(0))).getToken().getType() != TOK_TMP_FILE) {
- throw new LensException("Not allowed statement:" + query);
- }
}
- } catch (ParseException e) {
- throw new LensException(e);
}
checkForAllowedQuery.markSuccess();
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-driver-jdbc/src/main/java/org/apache/lens/driver/jdbc/JDBCResultSet.java
----------------------------------------------------------------------
diff --git a/lens-driver-jdbc/src/main/java/org/apache/lens/driver/jdbc/JDBCResultSet.java b/lens-driver-jdbc/src/main/java/org/apache/lens/driver/jdbc/JDBCResultSet.java
index ba2403b..36a48b9 100644
--- a/lens-driver-jdbc/src/main/java/org/apache/lens/driver/jdbc/JDBCResultSet.java
+++ b/lens-driver-jdbc/src/main/java/org/apache/lens/driver/jdbc/JDBCResultSet.java
@@ -25,11 +25,11 @@ import java.sql.Types;
import java.util.ArrayList;
import java.util.List;
-import org.apache.lens.api.LensException;
import org.apache.lens.api.query.ResultRow;
import org.apache.lens.driver.jdbc.JDBCDriver.QueryResult;
import org.apache.lens.server.api.driver.InMemoryResultSet;
import org.apache.lens.server.api.driver.LensResultSetMetadata;
+import org.apache.lens.server.api.error.LensException;
import org.apache.hadoop.hive.metastore.api.FieldSchema;
import org.apache.hadoop.hive.serde2.typeinfo.TypeInfoUtils;
@@ -41,7 +41,10 @@ import org.apache.log4j.Logger;
import org.codehaus.jackson.annotate.JsonIgnore;
-import lombok.*;
+import lombok.Data;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
/**
* The Class JDBCResultSet.
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-driver-jdbc/src/test/java/org/apache/lens/driver/jdbc/TestColumnarSQLRewriter.java
----------------------------------------------------------------------
diff --git a/lens-driver-jdbc/src/test/java/org/apache/lens/driver/jdbc/TestColumnarSQLRewriter.java b/lens-driver-jdbc/src/test/java/org/apache/lens/driver/jdbc/TestColumnarSQLRewriter.java
index dc1ecba..dc30bb9 100644
--- a/lens-driver-jdbc/src/test/java/org/apache/lens/driver/jdbc/TestColumnarSQLRewriter.java
+++ b/lens-driver-jdbc/src/test/java/org/apache/lens/driver/jdbc/TestColumnarSQLRewriter.java
@@ -25,9 +25,9 @@ import java.net.URL;
import java.net.URLClassLoader;
import java.util.*;
-import org.apache.lens.api.LensException;
import org.apache.lens.cube.parse.HQLParser;
import org.apache.lens.server.api.LensConfConstants;
+import org.apache.lens.server.api.error.LensException;
import org.apache.commons.lang3.StringUtils;
import org.apache.hadoop.conf.Configuration;
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-driver-jdbc/src/test/java/org/apache/lens/driver/jdbc/TestJdbcDriver.java
----------------------------------------------------------------------
diff --git a/lens-driver-jdbc/src/test/java/org/apache/lens/driver/jdbc/TestJdbcDriver.java b/lens-driver-jdbc/src/test/java/org/apache/lens/driver/jdbc/TestJdbcDriver.java
index 09bc6a5..75c428a 100644
--- a/lens-driver-jdbc/src/test/java/org/apache/lens/driver/jdbc/TestJdbcDriver.java
+++ b/lens-driver-jdbc/src/test/java/org/apache/lens/driver/jdbc/TestJdbcDriver.java
@@ -32,13 +32,14 @@ import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import org.apache.lens.api.LensConf;
-import org.apache.lens.api.LensException;
import org.apache.lens.api.query.QueryCost;
import org.apache.lens.api.query.QueryHandle;
import org.apache.lens.api.query.ResultRow;
import org.apache.lens.server.api.LensConfConstants;
import org.apache.lens.server.api.driver.*;
import org.apache.lens.server.api.driver.DriverQueryStatus.DriverQueryState;
+import org.apache.lens.server.api.driver.LensDriver;
+import org.apache.lens.server.api.error.LensException;
import org.apache.lens.server.api.metrics.LensMetricsRegistry;
import org.apache.lens.server.api.query.ExplainQueryContext;
import org.apache.lens.server.api.query.PreparedQueryContext;
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-ml-lib/src/main/java/org/apache/lens/client/LensMLClient.java
----------------------------------------------------------------------
diff --git a/lens-ml-lib/src/main/java/org/apache/lens/client/LensMLClient.java b/lens-ml-lib/src/main/java/org/apache/lens/client/LensMLClient.java
index 4d4521e..8ffe853 100644
--- a/lens-ml-lib/src/main/java/org/apache/lens/client/LensMLClient.java
+++ b/lens-ml-lib/src/main/java/org/apache/lens/client/LensMLClient.java
@@ -30,7 +30,6 @@ import java.util.Map;
import javax.ws.rs.core.Form;
-import org.apache.lens.api.LensException;
import org.apache.lens.api.LensSessionHandle;
import org.apache.lens.ml.algo.api.MLAlgo;
import org.apache.lens.ml.algo.api.MLModel;
@@ -38,6 +37,7 @@ import org.apache.lens.ml.api.LensML;
import org.apache.lens.ml.api.MLTestReport;
import org.apache.lens.ml.api.ModelMetadata;
import org.apache.lens.ml.api.TestReport;
+import org.apache.lens.server.api.error.LensException;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/api/MLAlgo.java
----------------------------------------------------------------------
diff --git a/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/api/MLAlgo.java b/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/api/MLAlgo.java
index 44b0043..65373c6 100644
--- a/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/api/MLAlgo.java
+++ b/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/api/MLAlgo.java
@@ -19,7 +19,7 @@
package org.apache.lens.ml.algo.api;
import org.apache.lens.api.LensConf;
-import org.apache.lens.api.LensException;
+import org.apache.lens.server.api.error.LensException;
/**
* The Interface MLAlgo.
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/api/MLDriver.java
----------------------------------------------------------------------
diff --git a/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/api/MLDriver.java b/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/api/MLDriver.java
index 1aa699d..d2a2748 100644
--- a/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/api/MLDriver.java
+++ b/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/api/MLDriver.java
@@ -21,7 +21,7 @@ package org.apache.lens.ml.algo.api;
import java.util.List;
import org.apache.lens.api.LensConf;
-import org.apache.lens.api.LensException;
+import org.apache.lens.server.api.error.LensException;
/**
* The Interface MLDriver.
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/lib/Algorithms.java
----------------------------------------------------------------------
diff --git a/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/lib/Algorithms.java b/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/lib/Algorithms.java
index a2fd94b..ad37403 100644
--- a/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/lib/Algorithms.java
+++ b/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/lib/Algorithms.java
@@ -24,9 +24,9 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import org.apache.lens.api.LensException;
import org.apache.lens.ml.algo.api.Algorithm;
import org.apache.lens.ml.algo.api.MLAlgo;
+import org.apache.lens.server.api.error.LensException;
/**
* The Class Algorithms.
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/spark/BaseSparkAlgo.java
----------------------------------------------------------------------
diff --git a/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/spark/BaseSparkAlgo.java b/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/spark/BaseSparkAlgo.java
index 4012085..86cab38 100644
--- a/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/spark/BaseSparkAlgo.java
+++ b/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/spark/BaseSparkAlgo.java
@@ -22,11 +22,11 @@ import java.lang.reflect.Field;
import java.util.*;
import org.apache.lens.api.LensConf;
-import org.apache.lens.api.LensException;
import org.apache.lens.ml.algo.api.AlgoParam;
import org.apache.lens.ml.algo.api.Algorithm;
import org.apache.lens.ml.algo.api.MLAlgo;
import org.apache.lens.ml.algo.api.MLModel;
+import org.apache.lens.server.api.error.LensException;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/spark/SparkMLDriver.java
----------------------------------------------------------------------
diff --git a/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/spark/SparkMLDriver.java b/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/spark/SparkMLDriver.java
index c955268..6543fed 100644
--- a/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/spark/SparkMLDriver.java
+++ b/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/spark/SparkMLDriver.java
@@ -24,7 +24,6 @@ import java.util.ArrayList;
import java.util.List;
import org.apache.lens.api.LensConf;
-import org.apache.lens.api.LensException;
import org.apache.lens.ml.algo.api.MLAlgo;
import org.apache.lens.ml.algo.api.MLDriver;
import org.apache.lens.ml.algo.lib.Algorithms;
@@ -32,6 +31,7 @@ import org.apache.lens.ml.algo.spark.dt.DecisionTreeAlgo;
import org.apache.lens.ml.algo.spark.lr.LogisticRegressionAlgo;
import org.apache.lens.ml.algo.spark.nb.NaiveBayesAlgo;
import org.apache.lens.ml.algo.spark.svm.SVMAlgo;
+import org.apache.lens.server.api.error.LensException;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/spark/TableTrainingSpec.java
----------------------------------------------------------------------
diff --git a/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/spark/TableTrainingSpec.java b/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/spark/TableTrainingSpec.java
index 33fd801..897aacb 100644
--- a/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/spark/TableTrainingSpec.java
+++ b/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/spark/TableTrainingSpec.java
@@ -23,7 +23,7 @@ import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
-import org.apache.lens.api.LensException;
+import org.apache.lens.server.api.error.LensException;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/spark/dt/DecisionTreeAlgo.java
----------------------------------------------------------------------
diff --git a/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/spark/dt/DecisionTreeAlgo.java b/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/spark/dt/DecisionTreeAlgo.java
index 6c7619a..7810a9a 100644
--- a/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/spark/dt/DecisionTreeAlgo.java
+++ b/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/spark/dt/DecisionTreeAlgo.java
@@ -20,11 +20,11 @@ package org.apache.lens.ml.algo.spark.dt;
import java.util.Map;
-import org.apache.lens.api.LensException;
import org.apache.lens.ml.algo.api.AlgoParam;
import org.apache.lens.ml.algo.api.Algorithm;
import org.apache.lens.ml.algo.spark.BaseSparkAlgo;
import org.apache.lens.ml.algo.spark.BaseSparkClassificationModel;
+import org.apache.lens.server.api.error.LensException;
import org.apache.spark.mllib.regression.LabeledPoint;
import org.apache.spark.mllib.tree.DecisionTree$;
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/spark/kmeans/KMeansAlgo.java
----------------------------------------------------------------------
diff --git a/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/spark/kmeans/KMeansAlgo.java b/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/spark/kmeans/KMeansAlgo.java
index 6450f70..be9af18 100644
--- a/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/spark/kmeans/KMeansAlgo.java
+++ b/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/spark/kmeans/KMeansAlgo.java
@@ -21,10 +21,13 @@ package org.apache.lens.ml.algo.spark.kmeans;
import java.util.List;
import org.apache.lens.api.LensConf;
-import org.apache.lens.api.LensException;
-import org.apache.lens.ml.algo.api.*;
+import org.apache.lens.ml.algo.api.AlgoParam;
+import org.apache.lens.ml.algo.api.Algorithm;
+import org.apache.lens.ml.algo.api.MLAlgo;
+import org.apache.lens.ml.algo.api.MLModel;
import org.apache.lens.ml.algo.lib.AlgoArgParser;
import org.apache.lens.ml.algo.spark.HiveTableRDD;
+import org.apache.lens.server.api.error.LensException;
import org.apache.hadoop.hive.conf.HiveConf;
import org.apache.hadoop.hive.metastore.api.FieldSchema;
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/spark/lr/LogisticRegressionAlgo.java
----------------------------------------------------------------------
diff --git a/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/spark/lr/LogisticRegressionAlgo.java b/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/spark/lr/LogisticRegressionAlgo.java
index 55caf59..c2f97af 100644
--- a/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/spark/lr/LogisticRegressionAlgo.java
+++ b/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/spark/lr/LogisticRegressionAlgo.java
@@ -20,11 +20,11 @@ package org.apache.lens.ml.algo.spark.lr;
import java.util.Map;
-import org.apache.lens.api.LensException;
import org.apache.lens.ml.algo.api.AlgoParam;
import org.apache.lens.ml.algo.api.Algorithm;
import org.apache.lens.ml.algo.spark.BaseSparkAlgo;
import org.apache.lens.ml.algo.spark.BaseSparkClassificationModel;
+import org.apache.lens.server.api.error.LensException;
import org.apache.spark.mllib.classification.LogisticRegressionModel;
import org.apache.spark.mllib.classification.LogisticRegressionWithSGD;
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/spark/nb/NaiveBayesAlgo.java
----------------------------------------------------------------------
diff --git a/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/spark/nb/NaiveBayesAlgo.java b/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/spark/nb/NaiveBayesAlgo.java
index b4e1e78..c484dfe 100644
--- a/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/spark/nb/NaiveBayesAlgo.java
+++ b/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/spark/nb/NaiveBayesAlgo.java
@@ -20,11 +20,11 @@ package org.apache.lens.ml.algo.spark.nb;
import java.util.Map;
-import org.apache.lens.api.LensException;
import org.apache.lens.ml.algo.api.AlgoParam;
import org.apache.lens.ml.algo.api.Algorithm;
import org.apache.lens.ml.algo.spark.BaseSparkAlgo;
import org.apache.lens.ml.algo.spark.BaseSparkClassificationModel;
+import org.apache.lens.server.api.error.LensException;
import org.apache.spark.mllib.classification.NaiveBayes;
import org.apache.spark.mllib.regression.LabeledPoint;
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/spark/svm/SVMAlgo.java
----------------------------------------------------------------------
diff --git a/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/spark/svm/SVMAlgo.java b/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/spark/svm/SVMAlgo.java
index 21a036a..4b14d66 100644
--- a/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/spark/svm/SVMAlgo.java
+++ b/lens-ml-lib/src/main/java/org/apache/lens/ml/algo/spark/svm/SVMAlgo.java
@@ -20,11 +20,11 @@ package org.apache.lens.ml.algo.spark.svm;
import java.util.Map;
-import org.apache.lens.api.LensException;
import org.apache.lens.ml.algo.api.AlgoParam;
import org.apache.lens.ml.algo.api.Algorithm;
import org.apache.lens.ml.algo.spark.BaseSparkAlgo;
import org.apache.lens.ml.algo.spark.BaseSparkClassificationModel;
+import org.apache.lens.server.api.error.LensException;
import org.apache.spark.mllib.classification.SVMModel;
import org.apache.spark.mllib.classification.SVMWithSGD;
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-ml-lib/src/main/java/org/apache/lens/ml/api/LensML.java
----------------------------------------------------------------------
diff --git a/lens-ml-lib/src/main/java/org/apache/lens/ml/api/LensML.java b/lens-ml-lib/src/main/java/org/apache/lens/ml/api/LensML.java
index e124fb0..23b5437 100644
--- a/lens-ml-lib/src/main/java/org/apache/lens/ml/api/LensML.java
+++ b/lens-ml-lib/src/main/java/org/apache/lens/ml/api/LensML.java
@@ -21,10 +21,10 @@ package org.apache.lens.ml.api;
import java.util.List;
import java.util.Map;
-import org.apache.lens.api.LensException;
import org.apache.lens.api.LensSessionHandle;
import org.apache.lens.ml.algo.api.MLAlgo;
import org.apache.lens.ml.algo.api.MLModel;
+import org.apache.lens.server.api.error.LensException;
/**
* Lens's machine learning interface used by client code as well as Lens ML service.
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-ml-lib/src/main/java/org/apache/lens/ml/impl/LensMLImpl.java
----------------------------------------------------------------------
diff --git a/lens-ml-lib/src/main/java/org/apache/lens/ml/impl/LensMLImpl.java b/lens-ml-lib/src/main/java/org/apache/lens/ml/impl/LensMLImpl.java
index aff7c84..e4c03c8 100644
--- a/lens-ml-lib/src/main/java/org/apache/lens/ml/impl/LensMLImpl.java
+++ b/lens-ml-lib/src/main/java/org/apache/lens/ml/impl/LensMLImpl.java
@@ -20,12 +20,7 @@ package org.apache.lens.ml.impl;
import java.io.IOException;
import java.io.ObjectOutputStream;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
+import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
@@ -35,14 +30,16 @@ import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.Entity;
import javax.ws.rs.client.WebTarget;
+import javax.ws.rs.core.GenericType;
import javax.ws.rs.core.MediaType;
import org.apache.lens.api.LensConf;
-import org.apache.lens.api.LensException;
import org.apache.lens.api.LensSessionHandle;
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.api.response.LensResponse;
+import org.apache.lens.api.response.NoErrorPayload;
import org.apache.lens.ml.algo.api.MLAlgo;
import org.apache.lens.ml.algo.api.MLDriver;
import org.apache.lens.ml.algo.api.MLModel;
@@ -51,6 +48,7 @@ import org.apache.lens.ml.algo.spark.SparkMLDriver;
import org.apache.lens.ml.api.LensML;
import org.apache.lens.ml.api.MLTestReport;
import org.apache.lens.server.api.LensConfConstants;
+import org.apache.lens.server.api.error.LensException;
import org.apache.lens.server.api.session.SessionService;
import org.apache.commons.io.IOUtils;
@@ -68,6 +66,7 @@ import org.glassfish.jersey.media.multipart.FormDataContentDisposition;
import org.glassfish.jersey.media.multipart.FormDataMultiPart;
import org.glassfish.jersey.media.multipart.MultiPartFeature;
+
/**
* The Class LensMLImpl.
*/
@@ -651,7 +650,7 @@ public class LensMLImpl implements LensML {
MediaType.APPLICATION_XML_TYPE));
final QueryHandle handle = target.request().post(Entity.entity(mp, MediaType.MULTIPART_FORM_DATA_TYPE),
- QueryHandle.class);
+ new GenericType<LensResponse<QueryHandle, NoErrorPayload>>() {}).getData();
LensQuery ctx = target.path(handle.toString()).queryParam("sessionid", sessionHandle).request()
.get(LensQuery.class);
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-ml-lib/src/main/java/org/apache/lens/ml/impl/MLRunner.java
----------------------------------------------------------------------
diff --git a/lens-ml-lib/src/main/java/org/apache/lens/ml/impl/MLRunner.java b/lens-ml-lib/src/main/java/org/apache/lens/ml/impl/MLRunner.java
index 625d020..e5ec272 100644
--- a/lens-ml-lib/src/main/java/org/apache/lens/ml/impl/MLRunner.java
+++ b/lens-ml-lib/src/main/java/org/apache/lens/ml/impl/MLRunner.java
@@ -20,11 +20,7 @@ package org.apache.lens.ml.impl;
import java.io.File;
import java.io.FileInputStream;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
+import java.util.*;
import org.apache.lens.client.LensClient;
import org.apache.lens.client.LensClientConfig;
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-ml-lib/src/main/java/org/apache/lens/ml/impl/QueryRunner.java
----------------------------------------------------------------------
diff --git a/lens-ml-lib/src/main/java/org/apache/lens/ml/impl/QueryRunner.java b/lens-ml-lib/src/main/java/org/apache/lens/ml/impl/QueryRunner.java
index 2f2e017..2eeee29 100644
--- a/lens-ml-lib/src/main/java/org/apache/lens/ml/impl/QueryRunner.java
+++ b/lens-ml-lib/src/main/java/org/apache/lens/ml/impl/QueryRunner.java
@@ -18,9 +18,9 @@
*/
package org.apache.lens.ml.impl;
-import org.apache.lens.api.LensException;
import org.apache.lens.api.LensSessionHandle;
import org.apache.lens.api.query.QueryHandle;
+import org.apache.lens.server.api.error.LensException;
import lombok.Getter;
import lombok.Setter;
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-ml-lib/src/main/java/org/apache/lens/ml/server/MLServiceImpl.java
----------------------------------------------------------------------
diff --git a/lens-ml-lib/src/main/java/org/apache/lens/ml/server/MLServiceImpl.java b/lens-ml-lib/src/main/java/org/apache/lens/ml/server/MLServiceImpl.java
index 264ca51..de9c711 100644
--- a/lens-ml-lib/src/main/java/org/apache/lens/ml/server/MLServiceImpl.java
+++ b/lens-ml-lib/src/main/java/org/apache/lens/ml/server/MLServiceImpl.java
@@ -22,12 +22,12 @@ import java.util.List;
import java.util.Map;
import org.apache.lens.api.LensConf;
-import org.apache.lens.api.LensException;
import org.apache.lens.api.LensSessionHandle;
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.ml.algo.api.*;
+import org.apache.lens.ml.algo.api.MLAlgo;
+import org.apache.lens.ml.algo.api.MLModel;
import org.apache.lens.ml.api.MLTestReport;
import org.apache.lens.ml.impl.LensMLImpl;
import org.apache.lens.ml.impl.ModelLoader;
@@ -35,6 +35,7 @@ import org.apache.lens.ml.impl.QueryRunner;
import org.apache.lens.server.api.LensConfConstants;
import org.apache.lens.server.api.ServiceProvider;
import org.apache.lens.server.api.ServiceProviderFactory;
+import org.apache.lens.server.api.error.LensException;
import org.apache.lens.server.api.query.QueryExecutionService;
import org.apache.commons.logging.Log;
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-ml-lib/src/main/java/org/apache/lens/ml/server/MLServiceResource.java
----------------------------------------------------------------------
diff --git a/lens-ml-lib/src/main/java/org/apache/lens/ml/server/MLServiceResource.java b/lens-ml-lib/src/main/java/org/apache/lens/ml/server/MLServiceResource.java
index f9c954e..6078893 100644
--- a/lens-ml-lib/src/main/java/org/apache/lens/ml/server/MLServiceResource.java
+++ b/lens-ml-lib/src/main/java/org/apache/lens/ml/server/MLServiceResource.java
@@ -25,22 +25,9 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
-import javax.ws.rs.BadRequestException;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.NotFoundException;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriInfo;
-
-import org.apache.lens.api.LensException;
+import javax.ws.rs.*;
+import javax.ws.rs.core.*;
+
import org.apache.lens.api.LensSessionHandle;
import org.apache.lens.api.StringList;
import org.apache.lens.ml.algo.api.MLModel;
@@ -51,6 +38,7 @@ import org.apache.lens.ml.impl.ModelLoader;
import org.apache.lens.server.api.LensConfConstants;
import org.apache.lens.server.api.ServiceProvider;
import org.apache.lens.server.api.ServiceProviderFactory;
+import org.apache.lens.server.api.error.LensException;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-ml-lib/src/main/java/org/apache/lens/rdd/LensRDDClient.java
----------------------------------------------------------------------
diff --git a/lens-ml-lib/src/main/java/org/apache/lens/rdd/LensRDDClient.java b/lens-ml-lib/src/main/java/org/apache/lens/rdd/LensRDDClient.java
index dcd3751..fe4d926 100644
--- a/lens-ml-lib/src/main/java/org/apache/lens/rdd/LensRDDClient.java
+++ b/lens-ml-lib/src/main/java/org/apache/lens/rdd/LensRDDClient.java
@@ -25,11 +25,11 @@ import java.util.List;
import java.util.Map;
import java.util.UUID;
-import org.apache.lens.api.LensException;
import org.apache.lens.api.query.*;
import org.apache.lens.client.LensClient;
import org.apache.lens.client.LensClientResultSet;
import org.apache.lens.ml.algo.spark.HiveTableRDD;
+import org.apache.lens.server.api.error.LensException;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-ml-lib/src/test/java/org/apache/lens/ml/TestMLResource.java
----------------------------------------------------------------------
diff --git a/lens-ml-lib/src/test/java/org/apache/lens/ml/TestMLResource.java b/lens-ml-lib/src/test/java/org/apache/lens/ml/TestMLResource.java
index 8b7e3f3..c08a5b1 100644
--- a/lens-ml-lib/src/test/java/org/apache/lens/ml/TestMLResource.java
+++ b/lens-ml-lib/src/test/java/org/apache/lens/ml/TestMLResource.java
@@ -20,11 +20,7 @@ package org.apache.lens.ml;
import java.io.File;
import java.net.URI;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.Application;
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-ml-lib/src/test/java/org/apache/lens/ml/TestMLRunner.java
----------------------------------------------------------------------
diff --git a/lens-ml-lib/src/test/java/org/apache/lens/ml/TestMLRunner.java b/lens-ml-lib/src/test/java/org/apache/lens/ml/TestMLRunner.java
index 655b55e..7f6413b 100644
--- a/lens-ml-lib/src/test/java/org/apache/lens/ml/TestMLRunner.java
+++ b/lens-ml-lib/src/test/java/org/apache/lens/ml/TestMLRunner.java
@@ -43,7 +43,6 @@ import org.apache.hadoop.hive.ql.metadata.Hive;
import org.glassfish.jersey.client.ClientConfig;
import org.glassfish.jersey.media.multipart.MultiPartFeature;
-
import org.testng.Assert;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-query-lib/src/test/java/org/apache/lens/lib/query/TestAbstractFileFormatter.java
----------------------------------------------------------------------
diff --git a/lens-query-lib/src/test/java/org/apache/lens/lib/query/TestAbstractFileFormatter.java b/lens-query-lib/src/test/java/org/apache/lens/lib/query/TestAbstractFileFormatter.java
index 5958c41..307e075 100644
--- a/lens-query-lib/src/test/java/org/apache/lens/lib/query/TestAbstractFileFormatter.java
+++ b/lens-query-lib/src/test/java/org/apache/lens/lib/query/TestAbstractFileFormatter.java
@@ -27,11 +27,11 @@ import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
import org.apache.lens.api.LensConf;
-import org.apache.lens.api.LensException;
import org.apache.lens.server.api.LensConfConstants;
import org.apache.lens.server.api.driver.LensDriver;
import org.apache.lens.server.api.driver.LensResultSetMetadata;
import org.apache.lens.server.api.driver.MockDriver;
+import org.apache.lens.server.api.error.LensException;
import org.apache.lens.server.api.query.QueryContext;
import org.apache.hadoop.conf.Configuration;
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-regression/src/main/java/org/apache/lens/regression/util/Util.java
----------------------------------------------------------------------
diff --git a/lens-regression/src/main/java/org/apache/lens/regression/util/Util.java b/lens-regression/src/main/java/org/apache/lens/regression/util/Util.java
index 6bd7314..e58b308 100644
--- a/lens-regression/src/main/java/org/apache/lens/regression/util/Util.java
+++ b/lens-regression/src/main/java/org/apache/lens/regression/util/Util.java
@@ -18,10 +18,11 @@
*/
package org.apache.lens.regression.util;
-import java.io.*;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.PrintWriter;
import java.util.Properties;
-
import org.apache.log4j.Logger;
import com.jcraft.jsch.ChannelExec;
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-server-api/src/main/java/org/apache/lens/server/api/LensConfConstants.java
----------------------------------------------------------------------
diff --git a/lens-server-api/src/main/java/org/apache/lens/server/api/LensConfConstants.java b/lens-server-api/src/main/java/org/apache/lens/server/api/LensConfConstants.java
index 07bcae6..e53e66c 100644
--- a/lens-server-api/src/main/java/org/apache/lens/server/api/LensConfConstants.java
+++ b/lens-server-api/src/main/java/org/apache/lens/server/api/LensConfConstants.java
@@ -18,7 +18,7 @@
*/
package org.apache.lens.server.api;
-import org.apache.lens.api.LensException;
+import org.apache.lens.server.api.error.LensException;
/**
* The Class LensConfConstants.
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-server-api/src/main/java/org/apache/lens/server/api/driver/DriverQueryPlan.java
----------------------------------------------------------------------
diff --git a/lens-server-api/src/main/java/org/apache/lens/server/api/driver/DriverQueryPlan.java b/lens-server-api/src/main/java/org/apache/lens/server/api/driver/DriverQueryPlan.java
index 9de22c5..8eba16d 100644
--- a/lens-server-api/src/main/java/org/apache/lens/server/api/driver/DriverQueryPlan.java
+++ b/lens-server-api/src/main/java/org/apache/lens/server/api/driver/DriverQueryPlan.java
@@ -20,11 +20,7 @@ package org.apache.lens.server.api.driver;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
import org.apache.lens.api.query.QueryCost;
import org.apache.lens.api.query.QueryHandle;
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-server-api/src/main/java/org/apache/lens/server/api/driver/InMemoryResultSet.java
----------------------------------------------------------------------
diff --git a/lens-server-api/src/main/java/org/apache/lens/server/api/driver/InMemoryResultSet.java b/lens-server-api/src/main/java/org/apache/lens/server/api/driver/InMemoryResultSet.java
index 4890d79..f11d883 100644
--- a/lens-server-api/src/main/java/org/apache/lens/server/api/driver/InMemoryResultSet.java
+++ b/lens-server-api/src/main/java/org/apache/lens/server/api/driver/InMemoryResultSet.java
@@ -21,10 +21,10 @@ package org.apache.lens.server.api.driver;
import java.util.ArrayList;
import java.util.List;
-import org.apache.lens.api.LensException;
import org.apache.lens.api.query.InMemoryQueryResult;
import org.apache.lens.api.query.QueryResult;
import org.apache.lens.api.query.ResultRow;
+import org.apache.lens.server.api.error.LensException;
/**
* The Class InMemoryResultSet.
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-server-api/src/main/java/org/apache/lens/server/api/driver/LensDriver.java
----------------------------------------------------------------------
diff --git a/lens-server-api/src/main/java/org/apache/lens/server/api/driver/LensDriver.java b/lens-server-api/src/main/java/org/apache/lens/server/api/driver/LensDriver.java
index e11acbf..8511ce6 100644
--- a/lens-server-api/src/main/java/org/apache/lens/server/api/driver/LensDriver.java
+++ b/lens-server-api/src/main/java/org/apache/lens/server/api/driver/LensDriver.java
@@ -20,10 +20,10 @@ package org.apache.lens.server.api.driver;
import java.io.Externalizable;
-import org.apache.lens.api.LensException;
import org.apache.lens.api.query.QueryCost;
import org.apache.lens.api.query.QueryHandle;
import org.apache.lens.api.query.QueryPrepareHandle;
+import org.apache.lens.server.api.error.LensException;
import org.apache.lens.server.api.events.LensEventListener;
import org.apache.lens.server.api.query.AbstractQueryContext;
import org.apache.lens.server.api.query.PreparedQueryContext;
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-server-api/src/main/java/org/apache/lens/server/api/driver/LensResultSet.java
----------------------------------------------------------------------
diff --git a/lens-server-api/src/main/java/org/apache/lens/server/api/driver/LensResultSet.java b/lens-server-api/src/main/java/org/apache/lens/server/api/driver/LensResultSet.java
index 2536477..af354cc 100644
--- a/lens-server-api/src/main/java/org/apache/lens/server/api/driver/LensResultSet.java
+++ b/lens-server-api/src/main/java/org/apache/lens/server/api/driver/LensResultSet.java
@@ -18,8 +18,8 @@
*/
package org.apache.lens.server.api.driver;
-import org.apache.lens.api.LensException;
import org.apache.lens.api.query.QueryResult;
+import org.apache.lens.server.api.error.LensException;
/**
* Result set returned by driver.
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/a8baa452/lens-server-api/src/main/java/org/apache/lens/server/api/driver/PersistentResultSet.java
----------------------------------------------------------------------
diff --git a/lens-server-api/src/main/java/org/apache/lens/server/api/driver/PersistentResultSet.java b/lens-server-api/src/main/java/org/apache/lens/server/api/driver/PersistentResultSet.java
index 24327ff..13f069f 100644
--- a/lens-server-api/src/main/java/org/apache/lens/server/api/driver/PersistentResultSet.java
+++ b/lens-server-api/src/main/java/org/apache/lens/server/api/driver/PersistentResultSet.java
@@ -18,9 +18,9 @@
*/
package org.apache.lens.server.api.driver;
-import org.apache.lens.api.LensException;
import org.apache.lens.api.query.PersistentQueryResult;
import org.apache.lens.api.query.QueryResult;
+import org.apache.lens.server.api.error.LensException;
/**
* The Class PersistentResultSet.