Repository: lens Updated Branches: refs/heads/master d4236668c -> 95b91f90d
LENS-1453: Method metrics names duplicate for segmentation inner rewrite Project: http://git-wip-us.apache.org/repos/asf/lens/repo Commit: http://git-wip-us.apache.org/repos/asf/lens/commit/0b265c81 Tree: http://git-wip-us.apache.org/repos/asf/lens/tree/0b265c81 Diff: http://git-wip-us.apache.org/repos/asf/lens/diff/0b265c81 Branch: refs/heads/master Commit: 0b265c81b312f410d4b4c6cde7f3a4596fb3fb79 Parents: d423666 Author: Rajat Khandelwal <pro...@apache.org> Authored: Thu Jul 20 16:09:58 2017 +0530 Committer: Rajat Khandelwal <rajatgupt...@gmail.com> Committed: Thu Jul 20 16:09:58 2017 +0530 ---------------------------------------------------------------------- .../org/apache/lens/cube/parse/SegmentationCandidate.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/lens/blob/0b265c81/lens-cube/src/main/java/org/apache/lens/cube/parse/SegmentationCandidate.java ---------------------------------------------------------------------- diff --git a/lens-cube/src/main/java/org/apache/lens/cube/parse/SegmentationCandidate.java b/lens-cube/src/main/java/org/apache/lens/cube/parse/SegmentationCandidate.java index a2bd485..35638f3 100644 --- a/lens-cube/src/main/java/org/apache/lens/cube/parse/SegmentationCandidate.java +++ b/lens-cube/src/main/java/org/apache/lens/cube/parse/SegmentationCandidate.java @@ -52,6 +52,7 @@ import org.apache.lens.cube.metadata.MetastoreUtil; import org.apache.lens.cube.metadata.Segment; import org.apache.lens.cube.metadata.Segmentation; import org.apache.lens.cube.metadata.TimeRange; +import org.apache.lens.server.api.LensConfConstants; import org.apache.lens.server.api.error.LensException; import org.apache.commons.lang3.tuple.Pair; @@ -141,7 +142,13 @@ public class SegmentationCandidate implements Candidate { }); addCubeNameAndAlias(ast, innerCube); trimHavingAndOrderby(ast, innerCube); - CubeQueryRewriter rewriter = new CubeQueryRewriter(conf, hconf); + Configuration innerConf = conf; + if (conf.get(LensConfConstants.QUERY_METRIC_UNIQUE_ID_CONF_KEY) != null) { + innerConf = new Configuration(conf); + innerConf.set(LensConfConstants.QUERY_METRIC_UNIQUE_ID_CONF_KEY, + conf.get(LensConfConstants.QUERY_METRIC_UNIQUE_ID_CONF_KEY) + "-" + segment.getName()); + } + CubeQueryRewriter rewriter = new CubeQueryRewriter(innerConf, hconf); CubeQueryContext ctx = rewriter.rewrite(ast); cubeQueryContextMap.put(segment.getName(), ctx); if (!ctx.getCandidates().isEmpty()) {