Matt McCline created HIVE-16251:
-----------------------------------
Summary: Vectorization: new octet_length function (HIVE-15979) get
NPE
Key: HIVE-16251
URL: https://issues.apache.org/jira/browse/HIVE-16251
Project: Hive
Issue Type: Bug
Components: Hive
Reporter: Matt McCline
Assignee: Teddy Choi
Priority: Critical
Stack trace:
{code}
Caused by: java.lang.NullPointerException
at
org.apache.hadoop.hive.ql.exec.vector.expressions.OctetLength.evaluate(OctetLength.java:53)
~[hive-exec-2.2.0-SNAPSHOT.jar:2.2.0-SNAPSHOT]
at
org.apache.hadoop.hive.ql.exec.vector.VectorSelectOperator.process(VectorSelectOperator.java:125)
~[hive-exec-2.2.0-SNAPSHOT.jar:2.2.0-SNAPSHOT]
at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:897)
~[hive-exec-2.2.0-SNAPSHOT.jar:2.2.0-SNAPSHOT]
at
org.apache.hadoop.hive.ql.exec.TableScanOperator.process(TableScanOperator.java:130)
~[hive-exec-2.2.0-SNAPSHOT.jar:2.2.0-SNAPSHOT]
at
org.apache.hadoop.hive.ql.exec.vector.VectorMapOperator.closeOp(VectorMapOperator.java:900)
~[hive-exec-2.2.0-SNAPSHOT.jar:2.2.0-SNAPSHOT]
at org.apache.hadoop.hive.ql.exec.Operator.close(Operator.java:697)
~[hive-exec-2.2.0-SNAPSHOT.jar:2.2.0-SNAPSHOT]
at
org.apache.hadoop.hive.ql.exec.mr.ExecMapper.close(ExecMapper.java:189)
~[hive-exec-2.2.0-SNAPSHOT.jar:2.2.0-SNAPSHOT]
at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:61)
~[hadoop-mapreduce-client-core-2.7.2.jar:?]
at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:453)
~[hadoop-mapreduce-client-core-2.7.2.jar:?]
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:343)
~[hadoop-mapreduce-client-core-2.7.2.jar:?]
at
org.apache.hadoop.mapred.LocalJobRunner$Job$MapTaskRunnable.run(LocalJobRunner.java:243)
~[hadoop-mapreduce-client-common-2.7.2.jar:?]
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
~[?:1.8.0_91]
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
~[?:1.8.0_91]
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
~[?:1.8.0_91]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
~[?:1.8.0_91]
at java.lang.Thread.run(Thread.java:745) ~[?:1.8.0_91]
{code}
I think it is the use of transient:
{code}
private transient int colNum;
private transient int outputColumn;
{code}
Transient columns lose their value when serialized from plan to execution. On
execution both are 0. Not sure why tests didn't fail.
CC: [~ashutoshc]
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)