Niklaus Xiao created HIVE-14694:
-----------------------------------
Summary: UDF rand throws NPE when input data is NULL
Key: HIVE-14694
URL: https://issues.apache.org/jira/browse/HIVE-14694
Project: Hive
Issue Type: Bug
Components: UDF
Affects Versions: 2.2.0
Reporter: Niklaus Xiao
Assignee: Niklaus Xiao
Priority: Minor
When use {{rand}} function with null, HiveServer throws NPE:
{code}
0: jdbc:hive2://10.64.35.144:21066/> desc foo1;
+-----------+------------+----------+--+
| col_name | data_type | comment |
+-----------+------------+----------+--+
| c1 | bigint | |
+-----------+------------+----------+--+
1 row selected (0.075 seconds)
0: jdbc:hive2://10.64.35.144:21066/> select * from foo1;
+----------+--+
| foo1.c1 |
+----------+--+
| NULL |
| 1 |
| 2 |
+----------+--+
3 rows selected (0.124 seconds)
0: jdbc:hive2://10.64.35.144:21066/> select rand(c1) from foo1;
Error: java.io.IOException: org.apache.hadoop.hive.ql.metadata.HiveException:
Unable to execute method public org.apache.hadoop.hive.serde2.io.DoubleWritable
org.apache.hadoop.hive.ql.udf.UDFRand.evaluate(org.apache.hadoop.io.LongWritable)
on object org.apache.hadoop.hive.ql.udf.UDFRand@37a2b47b of class
org.apache.hadoop.hive.ql.udf.UDFRand with arguments {null} of size 1
(state=,code=0)
{code}
Stack trace:
{code}
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.GeneratedMethodAccessor79.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at
org.apache.hadoop.hive.ql.exec.FunctionRegistry.invoke(FunctionRegistry.java:1010)
... 36 more
Caused by: java.lang.NullPointerException
at org.apache.hadoop.hive.ql.udf.UDFRand.evaluate(UDFRand.java:57)
... 40 more
{code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)