You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Stamatis Zampetakis (Jira)" <ji...@apache.org> on 2022/09/28 08:36:00 UTC

[jira] [Commented] (HIVE-26559) Skip unnecessary get all partition operations when where condition with 1=0 in CBO.

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

Stamatis Zampetakis commented on HIVE-26559:
--------------------------------------------

This may be resolved by the proposed fix in HIVE-26524. [~shuaiqi.guo] can you have a look if that solves your problem.

> Skip unnecessary get all partition operations when where condition with 1=0 in CBO.
> -----------------------------------------------------------------------------------
>
>                 Key: HIVE-26559
>                 URL: https://issues.apache.org/jira/browse/HIVE-26559
>             Project: Hive
>          Issue Type: Improvement
>          Components: CBO
>    Affects Versions: All Versions
>            Reporter: shuaiqi.guo
>            Assignee: shuaiqi.guo
>            Priority: Major
>             Fix For: All Versions
>
>         Attachments: HIVE-26559.patch
>
>   Original Estimate: 1h
>  Remaining Estimate: 1h
>
> In some cases, queries may get executed with where condition mentioning to "1=0" to get schema. E.g
> {noformat}
> SELECT
>   *
> FROM
>   table_with_millions_of_partitions
> WHERE
>   1=0
> {noformat}
> In actual production, it likes:
> {noformat}
> SELECT
>   *
> FROM
>   table_with_millions_of_partitions
> WHERE
>   partition_col1 = value1
>   and partition_col2 = value2
>   and if(some conditions, true, false)
> {noformat}
>  
> When the cbo optimizer optimizes the execution plan of this query, the cbo optimizer will get all the partitions of table_with_millions_of_partitions. This seems useless and causes hiveserver to fail when the number of partitions is very high.
>  
> Use this patch to skip unnecessary get all partition operation when pruneNode is always false.



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