Naveen Gangam created HIVE-14006: ------------------------------------ Summary: Hive query with UNION ALL fails with ArrayIndexOutOfBoundsException Key: HIVE-14006 URL: https://issues.apache.org/jira/browse/HIVE-14006 Project: Hive Issue Type: Bug Components: Hive Affects Versions: 2.0.0 Reporter: Naveen Gangam
set hive.cbo.enable=false; DROP VIEW IF EXISTS a_view; DROP TABLE IF EXISTS table_a1; DROP TABLE IF EXISTS table_a2; DROP TABLE IF EXISTS table_b1; DROP TABLE IF EXISTS table_b2; CREATE TABLE table_a1 (composite_key STRING); CREATE TABLE table_a2 (composite_key STRING); CREATE TABLE table_b1 (composite_key STRING, col1 STRING); CREATE TABLE table_b2 (composite_key STRING); CREATE VIEW a_view AS SELECT substring(a1.composite_key, 1, locate('|',a1.composite_key) - 1) AS autoname, NULL AS col1 FROM table_a1 a1 FULL OUTER JOIN table_a2 a2 ON a1.composite_key = a2.composite_key UNION ALL SELECT substring(b1.composite_key, 1, locate('|',b1.composite_key) - 1) AS autoname, b1.col1 AS col1 FROM table_b1 b1 FULL OUTER JOIN table_b2 b2 ON b1.composite_key = b2.composite_key; INSERT INTO TABLE table_b1 SELECT * FROM ( SELECT 'something|awful', 'col1' )s ; SELECT autoname FROM a_view WHERE autoname='something'; fails with Diagnostic Messages for this Task: Error: java.lang.RuntimeException: org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error while processing row {"_col0":"something"} at org.apache.hadoop.hive.ql.exec.mr.ExecMapper.map(ExecMapper.java:179) at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:54) at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:453) at org.apache.hadoop.mapred.MapTask.run(MapTask.java:343) at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:164) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:415) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1693) at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158) Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error while processing row {"_col0":"something"} at org.apache.hadoop.hive.ql.exec.MapOperator.process(MapOperator.java:507) at org.apache.hadoop.hive.ql.exec.mr.ExecMapper.map(ExecMapper.java:170) ... 8 more Caused by: java.lang.ArrayIndexOutOfBoundsException: 0 at org.apache.hadoop.hive.ql.exec.UnionOperator.processOp(UnionOperator.java:134) at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:815) at org.apache.hadoop.hive.ql.exec.TableScanOperator.processOp(TableScanOperator.java:95) at org.apache.hadoop.hive.ql.exec.MapOperator$MapOpCtx.forward(MapOperator.java:157) at org.apache.hadoop.hive.ql.exec.MapOperator.process(MapOperator.java:497) The same query succeeds when {{hive.ppd.remove.duplicatefilters=false}} with or without CBO on. It also succeeds with just CBO on. -- This message was sent by Atlassian JIRA (v6.3.4#6332)