Aleksey Vovchenko created HIVE-16118: ----------------------------------------
Summary: Some queries with multiple inserts fail in Hive-1.2 and work in Hive-0.13 Key: HIVE-16118 URL: https://issues.apache.org/jira/browse/HIVE-16118 Project: Hive Issue Type: Bug Components: Hive Affects Versions: 2.1.1, 2.1.0, 1.2.0 Reporter: Aleksey Vovchenko STEPS TO REPRODUCE: 1. Create tables and insert data into it: CREATE TABLE `table1` (`id` INT, `date` TIMESTAMP); CREATE TABLE `table2` (`id` INT, `date` TIMESTAMP); CREATE TABLE `table3` (`id` INT, `date` TIMESTAMP); CREATE TABLE `table4` (`id` INT, `date` TIMESTAMP); INSERT OVERWRITE TABLE `table1` VALUES (1,'2006-03-30 19:42:06'),(2,'2014-05-11 09:39:11'),(3,'2010-09-01 04:42:17'),(4,'2012-01-04 19:56:20'),(5,'2011-02-12 03:03:42'); INSERT OVERWRITE TABLE `table2` VALUES (1,'2006-03-30 19:42:06'),(2,'2014-05-11 09:39:11'),(3,'2010-09-01 04:42:17'),(4,'2012-01-04 19:56:20'),(5,'2011-02-12 03:03:42'); 2. Run the query with multiple inserts: FROM `table1` AS `t1` LEFT OUTER JOIN `table2` AS `t2` ON `t1`.`id` = `t2`.`id` INSERT OVERWRITE TABLE `table3` SELECT `t1`.`id`, `t1`.`date` WHERE STRING(`t1`.`date`) <= STRING(from_unixtime(unix_timestamp(),'yyyy-MM-dd')) INSERT OVERWRITE TABLE `table4` SELECT `t1`.`id`, `t1`.`date` WHERE `t1`.`id` <= INT(IF(`t2`.`id` IS NULL,0,`t2`.`id`)); ACTUAL RESULT: The query failed with such exception: 2017-02-22 11:00:03,904 ERROR [Thread-14]: exec.Task (SessionState.java:printError(963)) - Task with the most failures(4): ----- Task ID: task_1487688226052_0091_m_000000 ----- Diagnostic Messages for this Task: Error: java.lang.RuntimeException: org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error while processing row {"id":1,"date":"2006-03-30 19:42:06"} at org.apache.hadoop.hive.ql.exec.mr.ExecMapper.map(ExecMapper.java:172) at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:54) at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:458) at org.apache.hadoop.mapred.MapTask.run(MapTask.java:348) at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:163) 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:1595) 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 {"id":1,"date":"2006-03-30 19:42:06"} at org.apache.hadoop.hive.ql.exec.MapOperator.process(MapOperator.java:546) at org.apache.hadoop.hive.ql.exec.mr.ExecMapper.map(ExecMapper.java:163) ... 8 more Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: Unexpected exception: org.apache.hadoop.hive.serde2.SerDeException: Error: expecting 2 but asking for field 2 data=[Ljava.lang.Object;@39836856 tableType=struct<id:int,date:timestamp> dataType=struct<_col0:int,_col1:timestamp,_col5:int> at org.apache.hadoop.hive.ql.exec.MapJoinOperator.process(MapJoinOperator.java:426) at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:838) at org.apache.hadoop.hive.ql.exec.TableScanOperator.process(TableScanOperator.java:97) at org.apache.hadoop.hive.ql.exec.MapOperator$MapOpCtx.forward(MapOperator.java:165) at org.apache.hadoop.hive.ql.exec.MapOperator.process(MapOperator.java:536) ... 9 more Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: org.apache.hadoop.hive.serde2.SerDeException: Error: expecting 2 but asking for field 2 data=[Ljava.lang.Object;@39836856 tableType=struct<id:int,date:timestamp> dataType=struct<_col0:int,_col1:timestamp,_col5:int> at org.apache.hadoop.hive.ql.exec.FileSinkOperator.process(FileSinkOperator.java:789) at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:838) at org.apache.hadoop.hive.ql.exec.FilterOperator.process(FilterOperator.java:122) at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:838) at org.apache.hadoop.hive.ql.exec.CommonJoinOperator.internalForward(CommonJoinOperator.java:644) at org.apache.hadoop.hive.ql.exec.CommonJoinOperator.genAllOneUniqueJoinObject(CommonJoinOperator.java:676) at org.apache.hadoop.hive.ql.exec.CommonJoinOperator.checkAndGenObject(CommonJoinOperator.java:754) at org.apache.hadoop.hive.ql.exec.MapJoinOperator.process(MapJoinOperator.java:414) ... 13 more Caused by: org.apache.hadoop.hive.serde2.SerDeException: Error: expecting 2 but asking for field 2 data=[Ljava.lang.Object;@39836856 tableType=struct<id:int,date:timestamp> dataType=struct<_col0:int,_col1:timestamp,_col5:int> at org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe.doSerialize(LazySimpleSerDe.java:239) at org.apache.hadoop.hive.serde2.AbstractEncodingAwareSerDe.serialize(AbstractEncodingAwareSerDe.java:50) at org.apache.hadoop.hive.ql.exec.FileSinkOperator.process(FileSinkOperator.java:720) ... 20 more -- This message was sent by Atlassian JIRA (v6.3.15#6346)