[ https://issues.apache.org/jira/browse/HIVE-22039?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Rajesh Balamohan updated HIVE-22039: ------------------------------------ Summary: Query with CBO crashes HS2 in corner case (was: Query with CBO crashes HS2 in corner cases ) > Query with CBO crashes HS2 in corner case > ----------------------------------------- > > Key: HIVE-22039 > URL: https://issues.apache.org/jira/browse/HIVE-22039 > Project: Hive > Issue Type: Bug > Components: CBO > Affects Versions: 3.1.1, 2.3.4 > Reporter: Rajesh Balamohan > Priority: Major > > Here is a very simple repro for this case. > This along with CBO would crash HS2. It runs into a infinite loop creating > too many number of RexCalls and finally OOMs. > This is observed in 2.x, 3.x. > With 4.x (master branch), it does not happen. Master has > {{calcite-core-1.19.0.jar}}, where as 3.x has {{calcite-core-1.16.0.jar}}. > {noformat} > drop table if exists tableA; > drop table if exists tableB; > create table if not exists tableA(id int, reporting_date string) stored as > orc; > create table if not exists tableB(id int, reporting_date string) partitioned > by (datestr string) stored as orc; > explain with tableA_cte as ( > select > id, > reporting_date > from tableA > ), > tableA_cte_2 as ( > select > 0 as id, > reporting_date > from tableA > ), > tableA_cte_5 as ( > select * from tableA_cte > union > select * from tableA_cte_2 > ), > tableB_cte_0 as ( > select > id, > reporting_date > from tableB > where reporting_date = '2018-10-29' > ), > tableB_cte_1 as ( > select > 0 as id, > reporting_date > from tableB > where datestr = '2018-10-29' > ), > tableB_cte_4 as ( > select * from tableB_cte_0 > union > select * from tableB_cte_1 > ) > select > a.id as id, > b.reporting_date > from tableA_cte_5 a > join tableB_cte_4 b on (a.id = b.id and a.reporting_date = b.reporting_date); > {noformat} -- This message was sent by Atlassian JIRA (v7.6.14#76016)