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

Denys Kuzmenko commented on HIVE-28193:
---------------------------------------

Merged to master
Thanks [~okumin] for the patch and [~zabetak] for the review!

> Skip CBO fallback when EXCEPT/INTERSECT/QUALIFY are used
> --------------------------------------------------------
>
>                 Key: HIVE-28193
>                 URL: https://issues.apache.org/jira/browse/HIVE-28193
>             Project: Hive
>          Issue Type: Improvement
>          Components: CBO
>    Affects Versions: 4.0.0
>            Reporter: Shohei Okumiya
>            Assignee: Shohei Okumiya
>            Priority: Major
>              Labels: pull-request-available
>
> With `hive.cbo.fallback.strategy=CONSERVATIVE`, Hive retries to compile an 
> SQL without CBO when a compile error happens. We sometimes see an unkind 
> error message when EXCEPT, INTERSECT, OR QUALIFY are used. The fallback 
> non-CBO mode doesn't support those operators, so Hive asked us to enable CBO.
> {code:java}
> 0: jdbc:hive2://hive-hiveserver2:10000/defaul> select cast(0 as bigint) = '1' 
> EXCEPT select cast(1 as bigint) = '1';
> Error: Error while compiling statement: FAILED: SemanticException EXCEPT and 
> INTERSECT operations are only supported with Cost Based Optimizations 
> enabled. Please set 'hive.cbo.enable' to true! (state=42000,code=40000)
> 0: jdbc:hive2://hive-hiveserver2:10000/defaul> set 
> hive.cbo.fallback.strategy=NEVER;
> No rows affected (0.035 seconds)
> 0: jdbc:hive2://hive-hiveserver2:10000/defaul> select cast(0 as bigint) = '1' 
> EXCEPT select cast(1 as bigint) = '1';
> Error: Error while compiling statement: FAILED: SemanticException Line 0:-1 
> Wrong arguments ''1'': Unsafe compares between different types are disabled 
> for safety reasons. If you know what you are doing, please set 
> hive.strict.checks.type.safety to false and make sure that hive.mapred.mode 
> is not set to 'strict' to proceed. Note that you may get errors or incorrect 
> results if you make a mistake while using some of the unsafe features. 
> (state=42000,code=40000) {code}
> It is inconvenient, especially when the CBO mode fails because of 
> `hive.strict.checks.*`, because we can't identify the true reason why the 
> query failed.
> We plan to disable the fallback behavior or deprecate the non-CBO mode. 
> However, we sometimes need to rely on the features at this point.
>  * https://issues.apache.org/jira/browse/HIVE-27831
>  * https://issues.apache.org/jira/browse/HIVE-27830



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

Reply via email to