Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.1.1, 2.2.0, 2.3.2, 3.0.0
-
None
Description
In vectorized execution arithmetic operations which cause integer overflows can give wrong results. Issue is reproducible in both Orc and parquet.
Simple test case to reproduce this issue
set hive.vectorized.execution.enabled=true; create table parquettable (t1 tinyint, t2 tinyint) stored as parquet; insert into parquettable values (-104, 25), (-112, 24), (54, 9); select t1, t2, (t1-t2) as diff from parquettable where (t1-t2) < 50 order by diff desc; +-------+-----+-------+ | t1 | t2 | diff | +-------+-----+-------+ | -104 | 25 | 127 | | -112 | 24 | 120 | | 54 | 9 | 45 | +-------+-----+-------+
When vectorization is turned off the same query produces only one row.
Attachments
Attachments
Issue Links
- links to