[02/50] lens git commit: LENS-1432 : Map Join tuning broken for this query leading to Map timeouts
LENS-1432 : Map Join tuning broken for this query leading to Map timeouts Project: http://git-wip-us.apache.org/repos/asf/lens/repo Commit: http://git-wip-us.apache.org/repos/asf/lens/commit/13ee2851 Tree: http://git-wip-us.apache.org/repos/asf/lens/tree/13ee2851 Diff: http://git-wip-us.apache.org/repos/asf/lens/diff/13ee2851 Branch: refs/heads/master Commit: 13ee28519fbb8aa92c30abdff4a286155fddeef5 Parents: 419e190 Author: Sushil MohantyAuthored: Tue Jun 6 18:14:39 2017 +0530 Committer: rajub Committed: Sat Jun 10 13:30:08 2017 +0800 -- .../cube/parse/MultiCandidateQueryWriterContext.java | 11 +++ .../org/apache/lens/cube/parse/QueryWriterContext.java | 4 .../java/org/apache/lens/driver/cube/RewriterPlan.java | 6 +++--- .../org/apache/lens/cube/parse/TestRewriterPlan.java | 2 ++ .../lens/cube/parse/TestUnionAndJoinCandidates.java | 2 +- lens-cube/src/test/resources/schema/facts/b1fact1.xml| 2 +- 6 files changed, 22 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/lens/blob/13ee2851/lens-cube/src/main/java/org/apache/lens/cube/parse/MultiCandidateQueryWriterContext.java -- diff --git a/lens-cube/src/main/java/org/apache/lens/cube/parse/MultiCandidateQueryWriterContext.java b/lens-cube/src/main/java/org/apache/lens/cube/parse/MultiCandidateQueryWriterContext.java index d57c027..50046a5 100644 --- a/lens-cube/src/main/java/org/apache/lens/cube/parse/MultiCandidateQueryWriterContext.java +++ b/lens-cube/src/main/java/org/apache/lens/cube/parse/MultiCandidateQueryWriterContext.java @@ -18,8 +18,11 @@ */ package org.apache.lens.cube.parse; +import java.util.HashMap; import java.util.List; +import java.util.Map; +import org.apache.lens.cube.metadata.Dimension; import org.apache.lens.server.api.error.LensException; import com.google.common.collect.Lists; @@ -90,4 +93,12 @@ public class MultiCandidateQueryWriterContext implements QueryWriterContext { List leafWriterContexts = getLeafQueryWriterContexts(); return new UnionQueryWriter(leafWriterContexts, getCubeQueryContext()); } + + public Map getDimsToQuery() { +Map allDimsQueried = new HashMap<>(); +for (QueryWriterContext ctx : children) { + allDimsQueried.putAll(ctx.getDimsToQuery()); +} +return allDimsQueried; + } } http://git-wip-us.apache.org/repos/asf/lens/blob/13ee2851/lens-cube/src/main/java/org/apache/lens/cube/parse/QueryWriterContext.java -- diff --git a/lens-cube/src/main/java/org/apache/lens/cube/parse/QueryWriterContext.java b/lens-cube/src/main/java/org/apache/lens/cube/parse/QueryWriterContext.java index d55de1f..6531f22 100644 --- a/lens-cube/src/main/java/org/apache/lens/cube/parse/QueryWriterContext.java +++ b/lens-cube/src/main/java/org/apache/lens/cube/parse/QueryWriterContext.java @@ -18,6 +18,9 @@ */ package org.apache.lens.cube.parse; +import java.util.Map; + +import org.apache.lens.cube.metadata.Dimension; import org.apache.lens.server.api.error.LensException; /** @@ -31,4 +34,5 @@ public interface QueryWriterContext { QueryAST getQueryAst(); void updateFromString() throws LensException; QueryWriter toQueryWriter() throws LensException; + Map getDimsToQuery(); } http://git-wip-us.apache.org/repos/asf/lens/blob/13ee2851/lens-cube/src/main/java/org/apache/lens/driver/cube/RewriterPlan.java -- diff --git a/lens-cube/src/main/java/org/apache/lens/driver/cube/RewriterPlan.java b/lens-cube/src/main/java/org/apache/lens/driver/cube/RewriterPlan.java index caf8770..a27aec1 100644 --- a/lens-cube/src/main/java/org/apache/lens/driver/cube/RewriterPlan.java +++ b/lens-cube/src/main/java/org/apache/lens/driver/cube/RewriterPlan.java @@ -45,10 +45,10 @@ public final class RewriterPlan extends DriverQueryPlan { @SuppressWarnings("unchecked") // required for (Set) casting void extractPlan(Collection cubeQueries) { - for (CubeQueryContext ctx : cubeQueries) { - if (ctx.getPickedDimTables() != null && !ctx.getPickedDimTables().isEmpty()) { -for (CandidateDim dim : ctx.getPickedDimTables()) { + if (ctx.getQueryWriterContext().getDimsToQuery() != null + && !ctx.getQueryWriterContext().getDimsToQuery().isEmpty()) { +for (CandidateDim dim : ctx.getQueryWriterContext().getDimsToQuery().values()) { addTablesQueried(dim.getStorageTable()); if (partitions.get(dim.getName()) == null || partitions.get(dim.getName()).isEmpty()) { // puts storage table to latest
[4/5] lens git commit: LENS-1432 : Map Join tuning broken for this query leading to Map timeouts
LENS-1432 : Map Join tuning broken for this query leading to Map timeouts Project: http://git-wip-us.apache.org/repos/asf/lens/repo Commit: http://git-wip-us.apache.org/repos/asf/lens/commit/13ee2851 Tree: http://git-wip-us.apache.org/repos/asf/lens/tree/13ee2851 Diff: http://git-wip-us.apache.org/repos/asf/lens/diff/13ee2851 Branch: refs/heads/current-release-line Commit: 13ee28519fbb8aa92c30abdff4a286155fddeef5 Parents: 419e190 Author: Sushil MohantyAuthored: Tue Jun 6 18:14:39 2017 +0530 Committer: rajub Committed: Sat Jun 10 13:30:08 2017 +0800 -- .../cube/parse/MultiCandidateQueryWriterContext.java | 11 +++ .../org/apache/lens/cube/parse/QueryWriterContext.java | 4 .../java/org/apache/lens/driver/cube/RewriterPlan.java | 6 +++--- .../org/apache/lens/cube/parse/TestRewriterPlan.java | 2 ++ .../lens/cube/parse/TestUnionAndJoinCandidates.java | 2 +- lens-cube/src/test/resources/schema/facts/b1fact1.xml| 2 +- 6 files changed, 22 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/lens/blob/13ee2851/lens-cube/src/main/java/org/apache/lens/cube/parse/MultiCandidateQueryWriterContext.java -- diff --git a/lens-cube/src/main/java/org/apache/lens/cube/parse/MultiCandidateQueryWriterContext.java b/lens-cube/src/main/java/org/apache/lens/cube/parse/MultiCandidateQueryWriterContext.java index d57c027..50046a5 100644 --- a/lens-cube/src/main/java/org/apache/lens/cube/parse/MultiCandidateQueryWriterContext.java +++ b/lens-cube/src/main/java/org/apache/lens/cube/parse/MultiCandidateQueryWriterContext.java @@ -18,8 +18,11 @@ */ package org.apache.lens.cube.parse; +import java.util.HashMap; import java.util.List; +import java.util.Map; +import org.apache.lens.cube.metadata.Dimension; import org.apache.lens.server.api.error.LensException; import com.google.common.collect.Lists; @@ -90,4 +93,12 @@ public class MultiCandidateQueryWriterContext implements QueryWriterContext { List leafWriterContexts = getLeafQueryWriterContexts(); return new UnionQueryWriter(leafWriterContexts, getCubeQueryContext()); } + + public Map getDimsToQuery() { +Map allDimsQueried = new HashMap<>(); +for (QueryWriterContext ctx : children) { + allDimsQueried.putAll(ctx.getDimsToQuery()); +} +return allDimsQueried; + } } http://git-wip-us.apache.org/repos/asf/lens/blob/13ee2851/lens-cube/src/main/java/org/apache/lens/cube/parse/QueryWriterContext.java -- diff --git a/lens-cube/src/main/java/org/apache/lens/cube/parse/QueryWriterContext.java b/lens-cube/src/main/java/org/apache/lens/cube/parse/QueryWriterContext.java index d55de1f..6531f22 100644 --- a/lens-cube/src/main/java/org/apache/lens/cube/parse/QueryWriterContext.java +++ b/lens-cube/src/main/java/org/apache/lens/cube/parse/QueryWriterContext.java @@ -18,6 +18,9 @@ */ package org.apache.lens.cube.parse; +import java.util.Map; + +import org.apache.lens.cube.metadata.Dimension; import org.apache.lens.server.api.error.LensException; /** @@ -31,4 +34,5 @@ public interface QueryWriterContext { QueryAST getQueryAst(); void updateFromString() throws LensException; QueryWriter toQueryWriter() throws LensException; + Map getDimsToQuery(); } http://git-wip-us.apache.org/repos/asf/lens/blob/13ee2851/lens-cube/src/main/java/org/apache/lens/driver/cube/RewriterPlan.java -- diff --git a/lens-cube/src/main/java/org/apache/lens/driver/cube/RewriterPlan.java b/lens-cube/src/main/java/org/apache/lens/driver/cube/RewriterPlan.java index caf8770..a27aec1 100644 --- a/lens-cube/src/main/java/org/apache/lens/driver/cube/RewriterPlan.java +++ b/lens-cube/src/main/java/org/apache/lens/driver/cube/RewriterPlan.java @@ -45,10 +45,10 @@ public final class RewriterPlan extends DriverQueryPlan { @SuppressWarnings("unchecked") // required for (Set) casting void extractPlan(Collection cubeQueries) { - for (CubeQueryContext ctx : cubeQueries) { - if (ctx.getPickedDimTables() != null && !ctx.getPickedDimTables().isEmpty()) { -for (CandidateDim dim : ctx.getPickedDimTables()) { + if (ctx.getQueryWriterContext().getDimsToQuery() != null + && !ctx.getQueryWriterContext().getDimsToQuery().isEmpty()) { +for (CandidateDim dim : ctx.getQueryWriterContext().getDimsToQuery().values()) { addTablesQueried(dim.getStorageTable()); if (partitions.get(dim.getName()) == null || partitions.get(dim.getName()).isEmpty()) { // puts storage
lens git commit: LENS-1432 : Map Join tuning broken for this query leading to Map timeouts
Repository: lens Updated Branches: refs/heads/master 359937fab -> 933cc3d6f LENS-1432 : Map Join tuning broken for this query leading to Map timeouts Project: http://git-wip-us.apache.org/repos/asf/lens/repo Commit: http://git-wip-us.apache.org/repos/asf/lens/commit/933cc3d6 Tree: http://git-wip-us.apache.org/repos/asf/lens/tree/933cc3d6 Diff: http://git-wip-us.apache.org/repos/asf/lens/diff/933cc3d6 Branch: refs/heads/master Commit: 933cc3d6f7924c893f1c18273ffba8347bfcec89 Parents: 359937f Author: Sushil MohantyAuthored: Tue Jun 6 18:14:39 2017 +0530 Committer: Rajat Khandelwal Committed: Tue Jun 6 18:14:39 2017 +0530 -- .../cube/parse/MultiCandidateQueryWriterContext.java | 11 +++ .../org/apache/lens/cube/parse/QueryWriterContext.java | 4 .../java/org/apache/lens/driver/cube/RewriterPlan.java | 6 +++--- .../org/apache/lens/cube/parse/TestRewriterPlan.java | 2 ++ .../lens/cube/parse/TestUnionAndJoinCandidates.java | 2 +- lens-cube/src/test/resources/schema/facts/b1fact1.xml| 2 +- 6 files changed, 22 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/lens/blob/933cc3d6/lens-cube/src/main/java/org/apache/lens/cube/parse/MultiCandidateQueryWriterContext.java -- diff --git a/lens-cube/src/main/java/org/apache/lens/cube/parse/MultiCandidateQueryWriterContext.java b/lens-cube/src/main/java/org/apache/lens/cube/parse/MultiCandidateQueryWriterContext.java index d57c027..50046a5 100644 --- a/lens-cube/src/main/java/org/apache/lens/cube/parse/MultiCandidateQueryWriterContext.java +++ b/lens-cube/src/main/java/org/apache/lens/cube/parse/MultiCandidateQueryWriterContext.java @@ -18,8 +18,11 @@ */ package org.apache.lens.cube.parse; +import java.util.HashMap; import java.util.List; +import java.util.Map; +import org.apache.lens.cube.metadata.Dimension; import org.apache.lens.server.api.error.LensException; import com.google.common.collect.Lists; @@ -90,4 +93,12 @@ public class MultiCandidateQueryWriterContext implements QueryWriterContext { List leafWriterContexts = getLeafQueryWriterContexts(); return new UnionQueryWriter(leafWriterContexts, getCubeQueryContext()); } + + public Map getDimsToQuery() { +Map allDimsQueried = new HashMap<>(); +for (QueryWriterContext ctx : children) { + allDimsQueried.putAll(ctx.getDimsToQuery()); +} +return allDimsQueried; + } } http://git-wip-us.apache.org/repos/asf/lens/blob/933cc3d6/lens-cube/src/main/java/org/apache/lens/cube/parse/QueryWriterContext.java -- diff --git a/lens-cube/src/main/java/org/apache/lens/cube/parse/QueryWriterContext.java b/lens-cube/src/main/java/org/apache/lens/cube/parse/QueryWriterContext.java index d55de1f..6531f22 100644 --- a/lens-cube/src/main/java/org/apache/lens/cube/parse/QueryWriterContext.java +++ b/lens-cube/src/main/java/org/apache/lens/cube/parse/QueryWriterContext.java @@ -18,6 +18,9 @@ */ package org.apache.lens.cube.parse; +import java.util.Map; + +import org.apache.lens.cube.metadata.Dimension; import org.apache.lens.server.api.error.LensException; /** @@ -31,4 +34,5 @@ public interface QueryWriterContext { QueryAST getQueryAst(); void updateFromString() throws LensException; QueryWriter toQueryWriter() throws LensException; + Map getDimsToQuery(); } http://git-wip-us.apache.org/repos/asf/lens/blob/933cc3d6/lens-cube/src/main/java/org/apache/lens/driver/cube/RewriterPlan.java -- diff --git a/lens-cube/src/main/java/org/apache/lens/driver/cube/RewriterPlan.java b/lens-cube/src/main/java/org/apache/lens/driver/cube/RewriterPlan.java index caf8770..a27aec1 100644 --- a/lens-cube/src/main/java/org/apache/lens/driver/cube/RewriterPlan.java +++ b/lens-cube/src/main/java/org/apache/lens/driver/cube/RewriterPlan.java @@ -45,10 +45,10 @@ public final class RewriterPlan extends DriverQueryPlan { @SuppressWarnings("unchecked") // required for (Set) casting void extractPlan(Collection cubeQueries) { - for (CubeQueryContext ctx : cubeQueries) { - if (ctx.getPickedDimTables() != null && !ctx.getPickedDimTables().isEmpty()) { -for (CandidateDim dim : ctx.getPickedDimTables()) { + if (ctx.getQueryWriterContext().getDimsToQuery() != null + && !ctx.getQueryWriterContext().getDimsToQuery().isEmpty()) { +for (CandidateDim dim : ctx.getQueryWriterContext().getDimsToQuery().values()) { addTablesQueried(dim.getStorageTable()); if (partitions.get(dim.getName()) == null ||