You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lens.apache.org by jd...@apache.org on 2014/12/16 06:57:36 UTC
incubator-lens git commit: LENS-130 ConcurrentModificationException
in JoinResolver (amareshwari via jdhok)
Repository: incubator-lens
Updated Branches:
refs/heads/master 16035c20c -> 71742223f
LENS-130 ConcurrentModificationException in JoinResolver (amareshwari
via jdhok)
Project: http://git-wip-us.apache.org/repos/asf/incubator-lens/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-lens/commit/71742223
Tree: http://git-wip-us.apache.org/repos/asf/incubator-lens/tree/71742223
Diff: http://git-wip-us.apache.org/repos/asf/incubator-lens/diff/71742223
Branch: refs/heads/master
Commit: 71742223f1f6b692e3523d01954335c90300629b
Parents: 16035c2
Author: jdhok <ja...@inmobi.com>
Authored: Tue Dec 16 11:27:03 2014 +0530
Committer: jdhok <ja...@inmobi.com>
Committed: Tue Dec 16 11:27:03 2014 +0530
----------------------------------------------------------------------
.../apache/lens/cube/parse/JoinResolver.java | 1 +
.../lens/cube/parse/TestJoinResolver.java | 22 ++++++++++++++++++++
2 files changed, 23 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/71742223/lens-cube/src/main/java/org/apache/lens/cube/parse/JoinResolver.java
----------------------------------------------------------------------
diff --git a/lens-cube/src/main/java/org/apache/lens/cube/parse/JoinResolver.java b/lens-cube/src/main/java/org/apache/lens/cube/parse/JoinResolver.java
index 87a550c..cf56d59 100644
--- a/lens-cube/src/main/java/org/apache/lens/cube/parse/JoinResolver.java
+++ b/lens-cube/src/main/java/org/apache/lens/cube/parse/JoinResolver.java
@@ -491,6 +491,7 @@ class JoinResolver implements ContextRewriter {
LOG.info("Removing join path:" + jp + " as columns :" + cols + " dont exist");
paths.remove(i);
i--;
+ break;
}
}
}
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/71742223/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 9780acf..7e51a82 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
@@ -521,6 +521,28 @@ public class TestJoinResolver extends TestQueryRewrite {
null, getWhereForHourly2days("testcube", "c1_testfact2_raw"));
TestCubeRewriter.compareQueries(expected, hqlQuery);
+ // tests from multiple different chains
+ query = "select testdim4.name, testdim3id, avg(msr2) from testcube where " + twoDaysRange;
+ hqlQuery = rewrite(query, hconf);
+ expected = getExpectedQuery("testcube", "select testdim4.name, testdim3.id, avg(testcube.msr2) FROM ",
+ " join " + getDbName() + "c1_testdim2tbl testdim2 ON testcube.dim2 = testdim2.id and testdim2.dt = 'latest'" +
+ " join " + getDbName() + "c1_testdim3tbl testdim3 ON testdim2.testdim3id = testdim3.id and testdim3.dt = 'latest'"
+ + " join " + getDbName() + "c1_testdim4tbl testdim4 ON testdim3.testDim4id = testdim4.id and" +
+ " testdim4.dt = 'latest'", null, "group by testdim4.name, testdim3.id", null,
+ getWhereForHourly2days("testcube", "c1_testfact2_raw"));
+ TestCubeRewriter.compareQueries(expected, hqlQuery);
+
+ query = "select citydim.name, testdim4.name, testdim3id, avg(msr2) from testcube where " + twoDaysRange;
+ hqlQuery = rewrite(query, hconf);
+ expected = getExpectedQuery("testcube", "select citydim.name, testdim4.name, testdim3.id, avg(testcube.msr2) FROM ",
+ " join " + getDbName() + "c1_citytable citydim ON testcube.cityid = citydim.id and citydim.dt = 'latest'" +
+ " join " + getDbName() + "c1_testdim2tbl testdim2 ON testcube.dim2 = testdim2.id and testdim2.dt = 'latest'" +
+ " join " + getDbName() + "c1_testdim3tbl testdim3 ON testdim2.testdim3id = testdim3.id and testdim3.dt = 'latest'"
+ + " join " + getDbName() + "c1_testdim4tbl testdim4 ON testdim3.testDim4id = testdim4.id and" +
+ " testdim4.dt = 'latest'", null, "group by citydim.name, testdim4.name, testdim3.id", null,
+ getWhereForHourly2days("testcube", "c1_testfact2_raw"));
+ TestCubeRewriter.compareQueries(expected, hqlQuery);
+
// test multi hops
query = "select testdim4.name, avg(msr2) from testcube where " + twoDaysRange;
hqlQuery = rewrite(query, hconf);