Stamatis Zampetakis created HIVE-28264: ------------------------------------------
Summary: 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: Stamatis Zampetakis {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)