[ https://issues.apache.org/jira/browse/HIVE-7557?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14084270#comment-14084270 ]
Rajesh Balamohan commented on HIVE-7557: ---------------------------------------- Matt - processOp (serialization bug) is due to the wrong projection which is not related to ReduceRecordProcessor. In dynpart_sort_opt_vectorization.q , projected fields should be just 4. But when the data lands up in VectorizedOrcSerde, it has 5 columns. This needs to be fixed in other layer. ReduceRecordProcessor.processVectors when trying to call toString on the batch, is harmless at this time. I will fix that and upload the patch asap. > When reduce is vectorized, dynpart_sort_opt_vectorization.q under Tez fails > --------------------------------------------------------------------------- > > Key: HIVE-7557 > URL: https://issues.apache.org/jira/browse/HIVE-7557 > Project: Hive > Issue Type: Bug > Reporter: Matt McCline > Assignee: Rajesh Balamohan > > Turned off dynpart_sort_opt_vectorization.q (Tez) since it fails when reduce > is vectorized to get HIVE-7029 checked in. > Stack trace: > {code} > Container released by application, > AttemptID:attempt_1406747677386_0003_2_00_000000_2 Info:Error: > java.lang.RuntimeException: java.lang.RuntimeException: > org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error while > processing vector batch (tag=0) [Error getting row data with exception > java.lang.ClassCastException: > org.apache.hadoop.hive.ql.exec.vector.DoubleColumnVector cannot be cast to > org.apache.hadoop.hive.ql.exec.vector.LongColumnVector > at > org.apache.hadoop.hive.ql.exec.vector.expressions.VectorExpressionWriterFactory$VectorExpressionWriterLong.writeValue(VectorExpressionWriterFactory.java:168) > at > org.apache.hadoop.hive.ql.exec.vector.VectorizedRowBatch.toString(VectorizedRowBatch.java:159) > at > org.apache.hadoop.hive.ql.exec.tez.ReduceRecordProcessor.processVectors(ReduceRecordProcessor.java:481) > at > org.apache.hadoop.hive.ql.exec.tez.ReduceRecordProcessor.processRows(ReduceRecordProcessor.java:371) > at > org.apache.hadoop.hive.ql.exec.tez.ReduceRecordProcessor.run(ReduceRecordProcessor.java:291) > at > org.apache.hadoop.hive.ql.exec.tez.TezProcessor.run(TezProcessor.java:165) > at > org.apache.tez.runtime.LogicalIOProcessorRuntimeTask.run(LogicalIOProcessorRuntimeTask.java:307) > at > org.apache.hadoop.mapred.YarnTezDagChild$5.run(YarnTezDagChild.java:562) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:394) > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1548) > at > org.apache.hadoop.mapred.YarnTezDagChild.main(YarnTezDagChild.java:551) > ] > at > org.apache.hadoop.hive.ql.exec.tez.TezProcessor.run(TezProcessor.java:188) > at > org.apache.tez.runtime.LogicalIOProcessorRuntimeTask.run(LogicalIOProcessorRuntimeTask.java:307) > at > org.apache.hadoop.mapred.YarnTezDagChild$5.run(YarnTezDagChild.java:562) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:394) > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1548) > at > org.apache.hadoop.mapred.YarnTezDagChild.main(YarnTezDagChild.java:551) > Caused by: java.lang.RuntimeException: > org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error while > processing vector batch (tag=0) [Error getting row data with exception > java.lang.ClassCastException: > org.apache.hadoop.hive.ql.exec.vector.DoubleColumnVector cannot be cast to > org.apache.hadoop.hive.ql.exec.vector.LongColumnVector > at > org.apache.hadoop.hive.ql.exec.vector.expressions.VectorExpressionWriterFactory$VectorExpressionWriterLong.writeValue(VectorExpressionWriterFactory.java:168) > at > org.apache.hadoop.hive.ql.exec.vector.VectorizedRowBatch.toString(VectorizedRowBatch.java:159) > at > org.apache.hadoop.hive.ql.exec.tez.ReduceRecordProcessor.processVectors(ReduceRecordProcessor.java:481) > at > org.apache.hadoop.hive.ql.exec.tez.ReduceRecordProcessor.processRows(ReduceRecordProcessor.java:371) > at > org.apache.hadoop.hive.ql.exec.tez.ReduceRecordProcessor.run(ReduceRecordProcessor.java:291) > at > org.apache.hadoop.hive.ql.exec.tez.TezProcessor.run(TezProcessor.java:165) > at > org.apache.tez.runtime.LogicalIOProcessorRuntimeTask.run(LogicalIOProcessorRuntimeTask.java:307) > at > org.apache.hadoop.mapred.YarnTezDagChild$5.run(YarnTezDagChild.java:562) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:394) > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1548) > at > org.apache.hadoop.mapred.YarnTezDagChild.main(YarnTezDagChild.java:551) > ] > at > org.apache.hadoop.hive.ql.exec.tez.ReduceRecordProcessor.processRows(ReduceRecordProcessor.java:382) > at > org.apache.hadoop.hive.ql.exec.tez.ReduceRecordProcessor.run(ReduceRecordProcessor.java:291) > at > org.apache.hadoop.hive.ql.exec.tez.TezProcessor.run(TezProcessor.java:165) > ... 6 more > Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime > Error while processing vector batch (tag=0) [Error getting row data with > exception java.lang.ClassCastException: > org.apache.hadoop.hive.ql.exec.vector.DoubleColumnVector cannot be cast to > org.apache.hadoop.hive.ql.exec.vector.LongColumnVector > at > org.apache.hadoop.hive.ql.exec.vector.expressions.VectorExpressionWriterFactory$VectorExpressionWriterLong.writeValue(VectorExpressionWriterFactory.java:168) > at > org.apache.hadoop.hive.ql.exec.vector.VectorizedRowBatch.toString(VectorizedRowBatch.java:159) > at > org.apache.hadoop.hive.ql.exec.tez.ReduceRecordProcessor.processVectors(ReduceRecordProcessor.java:481) > at > org.apache.hadoop.hive.ql.exec.tez.ReduceRecordProcessor.processRows(ReduceRecordProcessor.java:371) > at > org.apache.hadoop.hive.ql.exec.tez.ReduceRecordProcessor.run(ReduceRecordProcessor.java:291) > at > org.apache.hadoop.hive.ql.exec.tez.TezProcessor.run(TezProcessor.java:165) > at > org.apache.tez.runtime.LogicalIOProcessorRuntimeTask.run(LogicalIOProcessorRuntimeTask.java:307) > at > org.apache.hadoop.mapred.YarnTezDagChild$5.run(YarnTezDagChild.java:562) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:394) > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1548) > at > org.apache.hadoop.mapred.YarnTezDagChild.main(YarnTezDagChild.java:551) > ] > at > org.apache.hadoop.hive.ql.exec.tez.ReduceRecordProcessor.processVectors(ReduceRecordProcessor.java:486) > at > org.apache.hadoop.hive.ql.exec.tez.ReduceRecordProcessor.processRows(ReduceRecordProcessor.java:371) > ... 8 more > Caused by: java.lang.ArrayIndexOutOfBoundsException: 4 > at > org.apache.hadoop.hive.ql.io.orc.VectorizedOrcSerde.serialize(VectorizedOrcSerde.java:75) > at > org.apache.hadoop.hive.ql.io.orc.OrcSerde.serializeVector(OrcSerde.java:148) > at > org.apache.hadoop.hive.ql.exec.vector.VectorFileSinkOperator.processOp(VectorFileSinkOperator.java:79) > at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:800) > at > org.apache.hadoop.hive.ql.exec.vector.VectorExtractOperator.processOp(VectorExtractOperator.java:99) > at > org.apache.hadoop.hive.ql.exec.tez.ReduceRecordProcessor.processVectors(ReduceRecordProcessor.java:470) > ... 9 more > {code} -- This message was sent by Atlassian JIRA (v6.2#6252)