You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Konstantin Bereznyakov (Jira)" <ji...@apache.org> on 2026/04/13 23:52:00 UTC

[jira] [Work started] (HIVE-29559) HIVE-28724 regression: SemanticAnalyzer.materializeCTE uses wrong analyzer class (with CBO disabled)

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

Work on HIVE-29559 started by Konstantin Bereznyakov.
-----------------------------------------------------
> HIVE-28724 regression: SemanticAnalyzer.materializeCTE uses wrong analyzer class (with CBO disabled)
> ----------------------------------------------------------------------------------------------------
>
>                 Key: HIVE-29559
>                 URL: https://issues.apache.org/jira/browse/HIVE-29559
>             Project: Hive
>          Issue Type: Bug
>            Reporter: Konstantin Bereznyakov
>            Assignee: Konstantin Bereznyakov
>            Priority: Major
>              Labels: pull-request-available
>
> CalcitePlanner.materializeCTE was fixed to use CreateTableAnalyzer in HIVE-28724
> However, SemanticAnalyzer.materializeCTE still uses SemanticAnalyzer directly.
> Bug triggers when: CBO disabled + non-aggregate CTE materialization
> The following very simple .q file reproduces the NPE on the current master:
> {code:java}
> set hive.optimize.cte.materialize.full.aggregate.only=false;
> set hive.cbo.enable=false;
> explain
> WITH cte AS (
>     SELECT 1 as id
> )
> SELECT * FROM cte
> UNION ALL
> SELECT * FROM cte
> UNION ALL
> SELECT * FROM cte; {code}
> {code:java}
> ERROR] Failures:[ERROR]   TestMiniLlapCliDriver.testCliDriver:62 Client execution failed with error code = 40000running
> explainWITH cte AS (    SELECT 1 as id)SELECT * FROM cteUNION ALLSELECT * FROM cteUNION ALLSELECT * FROM ctefname=cte_materialize_non_aggr_npe.q
> See ./ql/target/tmp/log/hive.log or ./itests/qtest/target/tmp/log/hive.log, or check ./ql/target/surefire-reports or ./itests/qtest/target/surefire-reports/ for specific test cases logs. java.lang.NullPointerException: Cannot invoke "org.apache.hadoop.hive.ql.ddl.table.create.CreateTableDesc.toTable(org.apache.hadoop.hive.conf.HiveConf)" because "analyzer.tableDesc" is null	at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.materializeCTE(SemanticAnalyzer.java:1585)	at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.getMetaData(SemanticAnalyzer.java:2402)	at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.getMetaData(SemanticAnalyzer.java:2350) {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)