[ https://issues.apache.org/jira/browse/HIVE-25220?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Krisztian Kasa updated HIVE-25220: ---------------------------------- Resolution: Fixed Status: Resolved (was: Patch Available) Pushed to master. Thanks [~jcamachorodriguez] for review. > Query with union fails CBO with OOM > ----------------------------------- > > Key: HIVE-25220 > URL: https://issues.apache.org/jira/browse/HIVE-25220 > Project: Hive > Issue Type: Bug > Components: CBO > Reporter: Krisztian Kasa > Assignee: Krisztian Kasa > Priority: Major > Labels: pull-request-available > Fix For: 4.0.0 > > Time Spent: 20m > Remaining Estimate: 0h > > {code} > 2021-06-08T08:15:14,450 ERROR [6241f234-77e0-4e63-9873-6eb9d655421c > HiveServer2-Handler-Pool: Thread-79] parse.CalcitePlanner: CBO failed, > skipping CBO. > java.lang.RuntimeException: java.lang.OutOfMemoryError: Java heap space > at > org.apache.hadoop.hive.ql.parse.CalcitePlanner.rethrowCalciteException(CalcitePlanner.java:1728) > ~[hive-exec-3.1.3000.7.2.6.3-1.jar:3.1.3000.7.2.6.3-1] > at > org.apache.hadoop.hive.ql.parse.CalcitePlanner.logicalPlan(CalcitePlanner.java:1564) > ~[hive-exec-3.1.3000.7.2.6.3-1.jar:3.1.3000.7.2.6.3-1] > at > org.apache.hadoop.hive.ql.parse.CalcitePlanner.genOPTree(CalcitePlanner.java:538) > ~[hive-exec-3.1.3000.7.2.6.3-1.jar:3.1.3000.7.2.6.3-1] > at > org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAnalyzer.java:12680) > ~[hive-exec-3.1.3000.7.2.6.3-1.jar:3.1.3000.7.2.6.3-1] > at > org.apache.hadoop.hive.ql.parse.CalcitePlanner.analyzeInternal(CalcitePlanner.java:428) > ~[hive-exec-3.1.3000.7.2.6.3-1.jar:3.1.3000.7.2.6.3-1] > at > org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:288) > ~[hive-exec-3.1.3000.7.2.6.3-1.jar:3.1.3000.7.2.6.3-1] > at > org.apache.hadoop.hive.ql.parse.ExplainSemanticAnalyzer.analyzeInternal(ExplainSemanticAnalyzer.java:170) > ~[hive-exec-3.1.3000.7.2.6.3-1.jar:3.1.3000.7.2.6.3-1] > at > org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:288) > ~[hive-exec-3.1.3000.7.2.6.3-1.jar:3.1.3000.7.2.6.3-1] > at org.apache.hadoop.hive.ql.Compiler.analyze(Compiler.java:221) > ~[hive-exec-3.1.3000.7.2.6.3-1.jar:3.1.3000.7.2.6.3-1] > at org.apache.hadoop.hive.ql.Compiler.compile(Compiler.java:104) > ~[hive-exec-3.1.3000.7.2.6.3-1.jar:3.1.3000.7.2.6.3-1] > at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:188) > ~[hive-exec-3.1.3000.7.2.6.3-1.jar:3.1.3000.7.2.6.3-1] > at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:600) > ~[hive-exec-3.1.3000.7.2.6.3-1.jar:3.1.3000.7.2.6.3-1] > at > org.apache.hadoop.hive.ql.Driver.compileAndRespond(Driver.java:546) > ~[hive-exec-3.1.3000.7.2.6.3-1.jar:3.1.3000.7.2.6.3-1] > at > org.apache.hadoop.hive.ql.Driver.compileAndRespond(Driver.java:540) > ~[hive-exec-3.1.3000.7.2.6.3-1.jar:3.1.3000.7.2.6.3-1] > at > org.apache.hadoop.hive.ql.reexec.ReExecDriver.compileAndRespond(ReExecDriver.java:127) > ~[hive-exec-3.1.3000.7.2.6.3-1.jar:3.1.3000.7.2.6.3-1] > at > org.apache.hive.service.cli.operation.SQLOperation.prepare(SQLOperation.java:199) > ~[hive-service-3.1.3000.7.2.6.3-1.jar:3.1.3000.7.2.6.3-1] > at > org.apache.hive.service.cli.operation.SQLOperation.runInternal(SQLOperation.java:260) > ~[hive-service-3.1.3000.7.2.6.3-1.jar:3.1.3000.7.2.6.3-1] > at > org.apache.hive.service.cli.operation.Operation.run(Operation.java:274) > ~[hive-service-3.1.3000.7.2.6.3-1.jar:3.1.3000.7.2.6.3-1] > at > org.apache.hive.service.cli.session.HiveSessionImpl.executeStatementInternal(HiveSessionImpl.java:565) > ~[hive-service-3.1.3000.7.2.6.3-1.jar:3.1.3000.7.2.6.3-1] > at > org.apache.hive.service.cli.session.HiveSessionImpl.executeStatementAsync(HiveSessionImpl.java:551) > ~[hive-service-3.1.3000.7.2.6.3-1.jar:3.1.3000.7.2.6.3-1] > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > ~[?:1.8.0_262] > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > ~[?:1.8.0_262] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[?:1.8.0_262] > at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_262] > at > org.apache.hive.service.cli.session.HiveSessionProxy.invoke(HiveSessionProxy.java:78) > ~[hive-service-3.1.3000.7.2.6.3-1.jar:3.1.3000.7.2.6.3-1] > at > org.apache.hive.service.cli.session.HiveSessionProxy.access$000(HiveSessionProxy.java:36) > ~[hive-service-3.1.3000.7.2.6.3-1.jar:3.1.3000.7.2.6.3-1] > at > org.apache.hive.service.cli.session.HiveSessionProxy$1.run(HiveSessionProxy.java:63) > ~[hive-service-3.1.3000.7.2.6.3-1.jar:3.1.3000.7.2.6.3-1] > at java.security.AccessController.doPrivileged(Native Method) > ~[?:1.8.0_262] > at javax.security.auth.Subject.doAs(Subject.java:422) ~[?:1.8.0_262] > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1729) > ~[hadoop-common-3.1.1.jar:?] > at > org.apache.hive.service.cli.session.HiveSessionProxy.invoke(HiveSessionProxy.java:59) > ~[hive-service-3.1.3000.7.2.6.3-1.jar:3.1.3000.7.2.6.3-1] > at com.sun.proxy.$Proxy39.executeStatementAsync(Unknown Source) ~[?:?] > at > org.apache.hive.service.cli.CLIService.executeStatementAsync(CLIService.java:315) > ~[hive-service-3.1.3000.7.2.6.3-1.jar:3.1.3000.7.2.6.3-1] > at > org.apache.hive.service.cli.thrift.ThriftCLIService.ExecuteStatement(ThriftCLIService.java:567) > ~[hive-service-3.1.3000.7.2.6.3-1.jar:3.1.3000.7.2.6.3-1] > at > org.apache.hive.service.rpc.thrift.TCLIService$Processor$ExecuteStatement.getResult(TCLIService.java:1557) > ~[hive-exec-3.1.3000.7.2.6.3-1.jar:3.1.3000.7.2.6.3-1] > at > org.apache.hive.service.rpc.thrift.TCLIService$Processor$ExecuteStatement.getResult(TCLIService.java:1542) > ~[hive-exec-3.1.3000.7.2.6.3-1.jar:3.1.3000.7.2.6.3-1] > at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39) > ~[hive-exec-3.1.3000.7.2.6.3-1.jar:3.1.3000.7.2.6.3-1] > at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39) > ~[hive-exec-3.1.3000.7.2.6.3-1.jar:3.1.3000.7.2.6.3-1] > at > org.apache.hive.service.auth.TSetIpAddressProcessor.process(TSetIpAddressProcessor.java:56) > ~[hive-service-3.1.3000.7.2.6.3-1.jar:3.1.3000.7.2.6.3-1] > at > org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:286) > ~[hive-exec-3.1.3000.7.2.6.3-1.jar:3.1.3000.7.2.6.3-1] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > ~[?:1.8.0_262] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > ~[?:1.8.0_262] > at java.lang.Thread.run(Thread.java:748) [?:1.8.0_262] > Caused by: java.lang.OutOfMemoryError: Java heap space > at java.util.Arrays.copyOf(Arrays.java:3332) ~[?:1.8.0_262] > at > java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:124) > ~[?:1.8.0_262] > at > java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:448) > ~[?:1.8.0_262] > at java.lang.StringBuilder.append(StringBuilder.java:136) > ~[?:1.8.0_262] > at java.lang.StringBuilder.append(StringBuilder.java:131) > ~[?:1.8.0_262] > at org.apache.calcite.rex.RexCall.appendOperands(RexCall.java:109) > ~[calcite-core-1.21.0.7.2.6.3-1.jar:1.21.0.7.2.6.3-1] > at org.apache.calcite.rex.RexCall.computeDigest(RexCall.java:166) > ~[calcite-core-1.21.0.7.2.6.3-1.jar:1.21.0.7.2.6.3-1] > at org.apache.calcite.rex.RexCall.toString(RexCall.java:183) > ~[calcite-core-1.21.0.7.2.6.3-1.jar:1.21.0.7.2.6.3-1] > at org.apache.calcite.rex.RexCall.hashCode(RexCall.java:268) > ~[calcite-core-1.21.0.7.2.6.3-1.jar:1.21.0.7.2.6.3-1] > at java.util.HashMap.hash(HashMap.java:339) ~[?:1.8.0_262] > at java.util.HashMap.put(HashMap.java:612) ~[?:1.8.0_262] > at java.util.HashSet.add(HashSet.java:220) ~[?:1.8.0_262] > at java.util.AbstractCollection.addAll(AbstractCollection.java:344) > ~[?:1.8.0_262] > at > org.apache.calcite.rel.metadata.RelMdExpressionLineage.createExpressions(RelMdExpressionLineage.java:459) > ~[calcite-core-1.21.0.7.2.6.3-1.jar:1.21.0.7.2.6.3-1] > at > org.apache.calcite.rel.metadata.RelMdExpressionLineage.createAllPossibleExpressions(RelMdExpressionLineage.java:440) > ~[calcite-core-1.21.0.7.2.6.3-1.jar:1.21.0.7.2.6.3-1] > at > org.apache.calcite.rel.metadata.RelMdExpressionLineage.createExpressions(RelMdExpressionLineage.java:462) > ~[calcite-core-1.21.0.7.2.6.3-1.jar:1.21.0.7.2.6.3-1] > at > org.apache.calcite.rel.metadata.RelMdExpressionLineage.createAllPossibleExpressions(RelMdExpressionLineage.java:440) > ~[calcite-core-1.21.0.7.2.6.3-1.jar:1.21.0.7.2.6.3-1] > at > org.apache.calcite.rel.metadata.RelMdExpressionLineage.createExpressions(RelMdExpressionLineage.java:462) > ~[calcite-core-1.21.0.7.2.6.3-1.jar:1.21.0.7.2.6.3-1] > at > org.apache.calcite.rel.metadata.RelMdExpressionLineage.createAllPossibleExpressions(RelMdExpressionLineage.java:440) > ~[calcite-core-1.21.0.7.2.6.3-1.jar:1.21.0.7.2.6.3-1] > at > org.apache.calcite.rel.metadata.RelMdExpressionLineage.createExpressions(RelMdExpressionLineage.java:462) > ~[calcite-core-1.21.0.7.2.6.3-1.jar:1.21.0.7.2.6.3-1] > at > org.apache.calcite.rel.metadata.RelMdExpressionLineage.createAllPossibleExpressions(RelMdExpressionLineage.java:440) > ~[calcite-core-1.21.0.7.2.6.3-1.jar:1.21.0.7.2.6.3-1] > at > org.apache.calcite.rel.metadata.RelMdExpressionLineage.createExpressions(RelMdExpressionLineage.java:462) > ~[calcite-core-1.21.0.7.2.6.3-1.jar:1.21.0.7.2.6.3-1] > at > org.apache.calcite.rel.metadata.RelMdExpressionLineage.createAllPossibleExpressions(RelMdExpressionLineage.java:440) > ~[calcite-core-1.21.0.7.2.6.3-1.jar:1.21.0.7.2.6.3-1] > at > org.apache.calcite.rel.metadata.RelMdExpressionLineage.createExpressions(RelMdExpressionLineage.java:462) > ~[calcite-core-1.21.0.7.2.6.3-1.jar:1.21.0.7.2.6.3-1] > at > org.apache.calcite.rel.metadata.RelMdExpressionLineage.createAllPossibleExpressions(RelMdExpressionLineage.java:440) > ~[calcite-core-1.21.0.7.2.6.3-1.jar:1.21.0.7.2.6.3-1] > at > org.apache.calcite.rel.metadata.RelMdExpressionLineage.createExpressions(RelMdExpressionLineage.java:462) > ~[calcite-core-1.21.0.7.2.6.3-1.jar:1.21.0.7.2.6.3-1] > at > org.apache.calcite.rel.metadata.RelMdExpressionLineage.createAllPossibleExpressions(RelMdExpressionLineage.java:440) > ~[calcite-core-1.21.0.7.2.6.3-1.jar:1.21.0.7.2.6.3-1] > at > org.apache.calcite.rel.metadata.RelMdExpressionLineage.createExpressions(RelMdExpressionLineage.java:462) > ~[calcite-core-1.21.0.7.2.6.3-1.jar:1.21.0.7.2.6.3-1] > at > org.apache.calcite.rel.metadata.RelMdExpressionLineage.createAllPossibleExpressions(RelMdExpressionLineage.java:440) > ~[calcite-core-1.21.0.7.2.6.3-1.jar:1.21.0.7.2.6.3-1] > at > org.apache.calcite.rel.metadata.RelMdExpressionLineage.createExpressions(RelMdExpressionLineage.java:462) > ~[calcite-core-1.21.0.7.2.6.3-1.jar:1.21.0.7.2.6.3-1] > at > org.apache.calcite.rel.metadata.RelMdExpressionLineage.createAllPossibleExpressions(RelMdExpressionLineage.java:440) > ~[calcite-core-1.21.0.7.2.6.3-1.jar:1.21.0.7.2.6.3-1] > at > org.apache.calcite.rel.metadata.RelMdExpressionLineage.createExpressions(RelMdExpressionLineage.java:462) > ~[calcite-core-1.21.0.7.2.6.3-1.jar:1.21.0.7.2.6.3-1] > {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)