[
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)