[
https://issues.apache.org/jira/browse/HIVE-23561?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Panagiotis Garefalakis updated HIVE-23561:
------------------------------------------
Description:
Arrow Serializer does not properly handle Decimal primitive values when
selected array is used.
In more detail, decimalValueSetter should be setting the value at
*arrowIndex[i]* as the value of the hiveVector at *index[j]*, however currently
its using the _same_ index!
https://github.com/apache/hive/blob/eac25e711ea750bc52f41da7ed3c32bfe36d4f67/ql/src/java/org/apache/hadoop/hive/ql/io/arrow/Serializer.java#L926
This works fine for cases where i == j (selected is not used) but causes issues
when i != j.
This ticket fixes this incosistency and adds tests with selected indexes for
all supported types
> FIX Arrow Decimal serialization for VectorRowBatches
> ----------------------------------------------------
>
> Key: HIVE-23561
> URL: https://issues.apache.org/jira/browse/HIVE-23561
> Project: Hive
> Issue Type: Bug
> Reporter: Panagiotis Garefalakis
> Assignee: Panagiotis Garefalakis
> Priority: Major
>
> Arrow Serializer does not properly handle Decimal primitive values when
> selected array is used.
> In more detail, decimalValueSetter should be setting the value at
> *arrowIndex[i]* as the value of the hiveVector at *index[j]*, however
> currently its using the _same_ index!
> https://github.com/apache/hive/blob/eac25e711ea750bc52f41da7ed3c32bfe36d4f67/ql/src/java/org/apache/hadoop/hive/ql/io/arrow/Serializer.java#L926
> This works fine for cases where i == j (selected is not used) but causes
> issues when i != j.
> This ticket fixes this incosistency and adds tests with selected indexes for
> all supported types
--
This message was sent by Atlassian Jira
(v8.3.4#803005)