[ https://issues.apache.org/jira/browse/HIVE-6594?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Remus Rusanu updated HIVE-6594: ------------------------------- Description: Discovered this while investigating why my fix for HIVE-6222 produced diffs. I discovered that Decimal128.addDestructive does not adjust the internal count when an the number of relevant ints increases. Since this count is used in the fast HiveDecimalWriter conversion code, the results are off. The root cause is UnsignedDecimal128.differenceInternal does not do an updateCount() on the result. was: Discovered this while investigating why my fix for HIVE-6222 produced diffs. I discovered that Decimal128.addDestructive does not adjust the internal count when an the number of relevant ints increases. Since this count i use din the fast HiveDecimal conversion code, the results are off. The root cause is UnsignedDecimal128.differenceInternal does not do an updateCount() on the result. > UnsignedInt128 addition does not increase internal int array count resulting > in corrupted values during serialization > --------------------------------------------------------------------------------------------------------------------- > > Key: HIVE-6594 > URL: https://issues.apache.org/jira/browse/HIVE-6594 > Project: Hive > Issue Type: Bug > Components: Query Processor > Affects Versions: 0.13.0 > Reporter: Remus Rusanu > Assignee: Remus Rusanu > Attachments: HIVE-6594.1.patch > > > Discovered this while investigating why my fix for HIVE-6222 produced diffs. > I discovered that Decimal128.addDestructive does not adjust the internal > count when an the number of relevant ints increases. Since this count is used > in the fast HiveDecimalWriter conversion code, the results are off. > The root cause is UnsignedDecimal128.differenceInternal does not do an > updateCount() on the result. -- This message was sent by Atlassian JIRA (v6.2#6252)