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

Zoltan Haindrich commented on HIVE-18279:
-----------------------------------------

[~osayankin] could you share your use case? because 
{{StatsSetupConst.areBasicStatsUptoDate}} shouldn't be returning {{true}}, iff 
those values can be trusted...
this is a bug, but probably not in the optimizer; instead in the collection 
logic somewhere - which might probably affect cases when the rowcount is not 
{{0}}.

> Incorrect condition in StatsOpimizer
> ------------------------------------
>
>                 Key: HIVE-18279
>                 URL: https://issues.apache.org/jira/browse/HIVE-18279
>             Project: Hive
>          Issue Type: Bug
>          Components: Statistics
>            Reporter: Oleksiy Sayankin
>            Assignee: Oleksiy Sayankin
>             Fix For: 3.0.0
>
>         Attachments: HIVE-18279.1.patch
>
>
> At the moment {{StatsOpimizer}} has code
> {code}
>         if (rowCnt == null) {
>           // if rowCnt < 1 than its either empty table or table on which 
> stats are not
>           //  computed We assume the worse and don't attempt to optimize.
>           Logger.debug("Table doesn't have up to date stats " + 
> tbl.getTableName());
>           rowCnt = null;
>         }
> {code}
> in method {{private Long getRowCnt()}}. Condition 
> {code}
> if (rowCnt == null) {
> {code}
> should be changed to 
> {code}
> if (rowCnt == null || rowCnt == 0) {
> {code}
> because 0 value also means that table stats may not be computed.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to