HIVE-22248 Fix statistics persisting issues #801
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
During the thrift call the XXXXColumnStatsDataInspector was transformed into a XXXXColumnStatsData object, which then was converted back, by calling the xxxxInspectorFromStats functions. The new object was never put back though to the aggregateStats, so all the modifications made by the XXXXColumnStatsMerger was made on an object that was never used again. Added aggregateColStats.getStatsData().setXXXXStats(aggregateData); calls to put them there, so the changes made by the merger are actually in effect.
The min value was miscalculated for Long and Double types, as the null value was treated as 0. It was fixed by calculating the min values by also using the isSetLowValue() function.
In case of vector_coalesce_3.q the bad statistics made the engine "think" that the column is a primary key following some heuristics based on statistics, and made it guess the statistics in a different way, thus is the output change.