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

Shohei Okumiya resolved HIVE-28637.
-----------------------------------
    Resolution: Fixed

I merged it into the master branch. Thanks [~yijiuqi] for your contribution. 
Thanks [~seonggon] for reviewing the pull request!

> Fix the issue of datasize becoming negative due to overflow during addition
> ---------------------------------------------------------------------------
>
>                 Key: HIVE-28637
>                 URL: https://issues.apache.org/jira/browse/HIVE-28637
>             Project: Hive
>          Issue Type: Bug
>      Security Level: Public(Viewable by anyone) 
>    Affects Versions: 4.0.1
>            Reporter: yijiuqi
>            Assignee: yijiuqi
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 4.1.0
>
>
> I encountered an issue in production where, with a large amount of data and 
> more than four windowing functions, the execution plan shows a negative 
> {{width}} value for windowing functions beyond the fourth. Additionally, 
> during execution on the Tez engine, the number of reducers for that stage is 
> set to 2. Upon reviewing the Hive {{Statistics}} code, I found that when 
> {{datasize}} exceeds the maximum value of a {{{}long{}}}, it wraps around and 
> becomes negative.
> ```
> public void addBasicStats(Statistics stats) {
> dataSize += stats.dataSize;
> numRows += stats.numRows;
> basicStatsState = inferColumnStatsState(basicStatsState, 
> stats.basicStatsState);
> }
> @Deprecated
> public void addToDataSize(long rds) {
> dataSize += rds;
> }
> ```



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

Reply via email to