[ https://issues.apache.org/jira/browse/HIVE-28264?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Krisztian Kasa updated HIVE-28264: ---------------------------------- Fix Version/s: 4.1.0 Resolution: Fixed Status: Resolved (was: Patch Available) Merged to master. Thanks [~zabetak] for reporting this and reviewing the patch. > OOM/slow compilation when query contains SELECT clauses with nested > expressions > ------------------------------------------------------------------------------- > > Key: HIVE-28264 > URL: https://issues.apache.org/jira/browse/HIVE-28264 > Project: Hive > Issue Type: Bug > Components: CBO, HiveServer2 > Affects Versions: 4.0.0 > Reporter: Stamatis Zampetakis > Assignee: Krisztian Kasa > Priority: Major > Labels: pull-request-available > Fix For: 4.1.0 > > > {code:sql} > CREATE TABLE t0 (`title` string); > SELECT x10 from > (SELECT concat_ws('L10',x9, x9, x9, x9) as x10 from > (SELECT concat_ws('L9',x8, x8, x8, x8) as x9 from > (SELECT concat_ws('L8',x7, x7, x7, x7) as x8 from > (SELECT concat_ws('L7',x6, x6, x6, x6) as x7 from > (SELECT concat_ws('L6',x5, x5, x5, x5) as x6 from > (SELECT concat_ws('L5',x4, x4, x4, x4) as x5 from > (SELECT concat_ws('L4',x3, x3, x3, x3) as x4 from > (SELECT concat_ws('L3',x2, x2, x2, x2) as x3 > from > (SELECT concat_ws('L2',x1, x1, x1, x1) as > x2 from > (SELECT concat_ws('L1',x0, x0, x0, > x0) as x1 from > (SELECT concat_ws('L0',title, > title, title, title) as x0 from t0) t1) t2) t3) t4) t5) t6) t7) t8) t9) t10) t > WHERE x10 = 'Something'; > {code} > The query above fails with OOM when run with the TestMiniLlapLocalCliDriver > and the default max heap size configuration effective for tests (-Xmx2048m). > {noformat} > java.lang.OutOfMemoryError: Java heap space > at java.util.Arrays.copyOf(Arrays.java:3332) > at > java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:124) > at > java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:448) > at java.lang.StringBuilder.append(StringBuilder.java:136) > at org.apache.calcite.rex.RexCall.computeDigest(RexCall.java:152) > at org.apache.calcite.rex.RexCall.toString(RexCall.java:165) > at org.apache.calcite.rex.RexCall.appendOperands(RexCall.java:105) > at org.apache.calcite.rex.RexCall.computeDigest(RexCall.java:151) > at org.apache.calcite.rex.RexCall.toString(RexCall.java:165) > at java.lang.String.valueOf(String.java:2994) > at java.lang.StringBuilder.append(StringBuilder.java:131) > at > org.apache.calcite.rel.externalize.RelWriterImpl.explain_(RelWriterImpl.java:90) > at > org.apache.calcite.rel.externalize.RelWriterImpl.done(RelWriterImpl.java:144) > at > org.apache.calcite.rel.AbstractRelNode.explain(AbstractRelNode.java:246) > at > org.apache.calcite.rel.externalize.RelWriterImpl.explainInputs(RelWriterImpl.java:122) > at > org.apache.calcite.rel.externalize.RelWriterImpl.explain_(RelWriterImpl.java:116) > at > org.apache.calcite.rel.externalize.RelWriterImpl.done(RelWriterImpl.java:144) > at > org.apache.calcite.rel.AbstractRelNode.explain(AbstractRelNode.java:246) > at org.apache.calcite.plan.RelOptUtil.toString(RelOptUtil.java:2308) > at org.apache.calcite.plan.RelOptUtil.toString(RelOptUtil.java:2292) > at > org.apache.hadoop.hive.ql.optimizer.calcite.RuleEventLogger.ruleProductionSucceeded(RuleEventLogger.java:73) > at > org.apache.calcite.plan.MulticastRelOptListener.ruleProductionSucceeded(MulticastRelOptListener.java:68) > at > org.apache.calcite.plan.AbstractRelOptPlanner.notifyTransformation(AbstractRelOptPlanner.java:370) > at > org.apache.calcite.plan.hep.HepPlanner.applyTransformationResults(HepPlanner.java:702) > at org.apache.calcite.plan.hep.HepPlanner.applyRule(HepPlanner.java:545) > at > org.apache.calcite.plan.hep.HepPlanner.applyRules(HepPlanner.java:407) > at > org.apache.calcite.plan.hep.HepPlanner.executeInstruction(HepPlanner.java:271) > at > org.apache.calcite.plan.hep.HepInstruction$RuleCollection.execute(HepInstruction.java:74) > at > org.apache.calcite.plan.hep.HepPlanner.executeProgram(HepPlanner.java:202) > at > org.apache.calcite.plan.hep.HepPlanner.findBestExp(HepPlanner.java:189) > at > org.apache.hadoop.hive.ql.parse.CalcitePlanner$CalcitePlannerAction.executeProgram(CalcitePlanner.java:2452) > at > org.apache.hadoop.hive.ql.parse.CalcitePlanner$CalcitePlannerAction.executeProgram(CalcitePlanner.java:2411) > {noformat} -- This message was sent by Atlassian Jira (v8.20.10#820010)