[ https://issues.apache.org/jira/browse/HIVE-7363?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14055183#comment-14055183 ]
Jason Dere commented on HIVE-7363: ---------------------------------- Failures not related to the patch. > VectorExpressionWriterDecimal is missing null check in setValue() > ----------------------------------------------------------------- > > Key: HIVE-7363 > URL: https://issues.apache.org/jira/browse/HIVE-7363 > Project: Hive > Issue Type: Bug > Components: Vectorization > Reporter: Jason Dere > Assignee: Jason Dere > Attachments: HIVE-7363.1.patch > > > The VectorExpressionWriterDecimal class created by > VectorExpressionWriterFactory.genVectorExpressionWritableDecimal() does not > check for null field in setValue, while all the other data types check for > null. > This can result in NPE when inserting to/from Orc tables: > {noformat} > java.lang.Exception: java.lang.RuntimeException: > org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error while > processing row > at > org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:401) > Caused by: java.lang.RuntimeException: > org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error while > processing row > at > org.apache.hadoop.hive.ql.exec.mr.ExecMapper.map(ExecMapper.java:195) > at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:54) > at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:429) > at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341) > at > org.apache.hadoop.mapred.LocalJobRunner$Job$MapTaskRunnable.run(LocalJobRunner.java:233) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) > at java.util.concurrent.FutureTask.run(FutureTask.java:138) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) > at java.lang.Thread.run(Thread.java:680) > Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime > Error while processing rowi > at > org.apache.hadoop.hive.ql.exec.vector.VectorMapOperator.process(VectorMapOperator.java:45) > at > org.apache.hadoop.hive.ql.exec.mr.ExecMapper.map(ExecMapper.java:177) > ... 10 more > Caused by: java.lang.NullPointerException > at > org.apache.hadoop.hive.serde2.objectinspector.primitive.WritableHiveDecimalObjectInspector.set(WritableHiveDecimalObjectInspector.java:66) > at > org.apache.hadoop.hive.ql.exec.vector.expressions.VectorExpressionWriterFactory$1.setValue(VectorExpressionWriterFactory.java:481) > at > org.apache.hadoop.hive.ql.exec.vector.expressions.VectorExpressionWriterFactory$VectorExpressionWriterDecimal.setValue(VectorExpressionWriterFactory.java:347) > at > org.apache.hadoop.hive.ql.exec.vector.expressions.VectorExpressionWriterFactory$VectorExpressionWriterSetter.setValue(VectorExpressionWriterFactory.java:1070) > 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.VectorSelectOperator.processOp(VectorSelectOperator.java:139) > at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:800) > at > org.apache.hadoop.hive.ql.exec.vector.VectorFilterOperator.processOp(VectorFilterOperator.java:102) > at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:800) > at > org.apache.hadoop.hive.ql.exec.TableScanOperator.processOp(TableScanOperator.java:95) > at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:800) > at > org.apache.hadoop.hive.ql.exec.vector.VectorMapOperator.process(VectorMapOperator.java:43) > ... 11 more > {noformat} -- This message was sent by Atlassian JIRA (v6.2#6252)