You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Aron Hamvas (Jira)" <ji...@apache.org> on 2020/02/03 08:08:00 UTC

[jira] [Commented] (HIVE-22578) CBO genOPTree is not failsafe for CTAS and VIEW statements

    [ https://issues.apache.org/jira/browse/HIVE-22578?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17028754#comment-17028754 ] 

Aron Hamvas commented on HIVE-22578:
------------------------------------

[~jcamachorodriguez], the problem is that with CBO enabled, the original AST is lost during the execution of this method. If CBO fails due and the rewritten AST is not good, there is no way to fall back to the original one, unless we save it. 

> CBO genOPTree is not failsafe for CTAS and VIEW statements
> ----------------------------------------------------------
>
>                 Key: HIVE-22578
>                 URL: https://issues.apache.org/jira/browse/HIVE-22578
>             Project: Hive
>          Issue Type: Bug
>          Components: CBO
>    Affects Versions: 3.0.0, 3.1.2
>            Reporter: Aron Hamvas
>            Assignee: Aron Hamvas
>            Priority: Major
>             Fix For: 4.0.0
>
>         Attachments: HIVE-22578.2.patch, HIVE-22578.patch
>
>
> If CBO fails during OT generation, it is supposed to skip CBO and fall back to SemanticAnalyzer generating the OT for the original AST. However, for CTAS and VIEW statements, the original AST is discarded and replaced with the new AST. 
> If OT generation for the new AST fails with a SemanticException, the compilation is destined to fail completely since we cannot fall back to the original and possibly valid AST.
> Also, the SemanticException sometimes gets hidden and misjudged as a missing column statistics issue due to bad error handling.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)