[ https://issues.apache.org/jira/browse/HIVE-25410?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
ASF GitHub Bot updated HIVE-25410: ---------------------------------- Labels: pull-request-available (was: ) > CommonMergeJoinOperator fails when a join key is ARRAY with arbitrary size > -------------------------------------------------------------------------- > > Key: HIVE-25410 > URL: https://issues.apache.org/jira/browse/HIVE-25410 > Project: Hive > Issue Type: Bug > Components: Hive > Reporter: okumin > Assignee: okumin > Priority: Major > Labels: pull-request-available > Fix For: 4.0.0 > > Time Spent: 10m > Remaining Estimate: 0h > > Thanks to HIVE-24883, CommonMergeJoinOperator can handle ARRAY or STRUCT > types as a JOIN key. > There are corner cases where CommonMergeJoinOperator fails with > `ArrayIndexOutOfBoundsException`. > > This is a simple case. > {code:java} > SET hive.auto.convert.join=false; > CREATE TABLE table_list_types (id int, key array<int>); > INSERT INTO table_list_types VALUES (1, array(1, 2)), (2, array(1, 2)), (3, > array(1, 2, 3)), (4, array(1, 2, 3)); > SELECT * FROM table_list_types t1 INNER JOIN table_list_types t2 ON t1.key = > t2.key; {code} > With 69c97c26ac68a245f4d327cc2f7b3a2333f8fa84, the following error happened. > {code:java} > Caused by: java.lang.ArrayIndexOutOfBoundsException: 2 > at > org.apache.hadoop.hive.ql.exec.HiveStructComparator.compare(HiveStructComparator.java:57) > at > org.apache.hadoop.hive.ql.exec.CommonMergeJoinOperator.compareKey(CommonMergeJoinOperator.java:629) > at > org.apache.hadoop.hive.ql.exec.CommonMergeJoinOperator.compareKeys(CommonMergeJoinOperator.java:597) > at > org.apache.hadoop.hive.ql.exec.CommonMergeJoinOperator.processKey(CommonMergeJoinOperator.java:566) > at > org.apache.hadoop.hive.ql.exec.CommonMergeJoinOperator.process(CommonMergeJoinOperator.java:249) > at > org.apache.hadoop.hive.ql.exec.tez.ReduceRecordSource$GroupIterator.next(ReduceRecordSource.java:370) > ... 26 more {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)