[ 
https://issues.apache.org/jira/browse/HIVE-25220?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krisztian Kasa updated HIVE-25220:
----------------------------------
    Status: Patch Available  (was: Open)

> 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: 10m
>  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)

Reply via email to