[
https://issues.apache.org/jira/browse/HIVE-2182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13100631#comment-13100631
]
[email protected] commented on HIVE-2182:
-----------------------------------------------------
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/1759/
-----------------------------------------------------------
Review request for hive and John Sichi.
Summary
-------
while executing UDF if the implementation jar is not present in MR class path
it is throwing nullpointer exception instead of throwing nullpointer exception
throwing meaning full exception with the required details.
This addresses bug HIVE-2182.
https://issues.apache.org/jira/browse/HIVE-2182
Diffs
-----
trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFBridge.java
1166865
trunk/ql/src/test/queries/clientnegative/udfnull.q PRE-CREATION
trunk/ql/src/test/results/clientnegative/udfnull.q.out PRE-CREATION
Diff: https://reviews.apache.org/r/1759/diff
Testing
-------
Added unit tests
Thanks,
chinna
> Avoid null pointer exception when executing UDF
> -----------------------------------------------
>
> Key: HIVE-2182
> URL: https://issues.apache.org/jira/browse/HIVE-2182
> Project: Hive
> Issue Type: Bug
> Components: Query Processor
> Affects Versions: 0.5.0, 0.8.0
> Environment: Hadoop 0.20.1, Hive0.8.0 and SUSE Linux Enterprise
> Server 10 SP2 (i586) - Kernel 2.6.16.60-0.21-smp (5)
> Reporter: Chinna Rao Lalam
> Assignee: Chinna Rao Lalam
> Attachments: HIVE-2182.1.patch, HIVE-2182.2.patch, HIVE-2182.patch
>
>
> For using UDF's executed following steps
> {noformat}
> add jar /home/udf/udf.jar;
> create temporary function grade as 'udf.Grade';
> select m.userid,m.name,grade(m.maths,m.physics,m.chemistry) from marks m;
> {noformat}
> But from the above steps if we miss the first step (add jar) and execute
> remaining steps
> {noformat}
> create temporary function grade as 'udf.Grade';
> select m.userid,m.name,grade(m.maths,m.physics,m.chemistry) from marks m;
> {noformat}
> In tasktracker it is throwing this exception
> {noformat}
> Caused by: java.lang.RuntimeException: Map operator initialization failed
> at
> org.apache.hadoop.hive.ql.exec.ExecMapper.configure(ExecMapper.java:121)
> ... 18 more
> Caused by: java.lang.RuntimeException: java.lang.NullPointerException
> at
> org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:115)
> at
> org.apache.hadoop.hive.ql.udf.generic.GenericUDFBridge.initialize(GenericUDFBridge.java:126)
> at
> org.apache.hadoop.hive.ql.exec.ExprNodeGenericFuncEvaluator.initialize(ExprNodeGenericFuncEvaluator.java:133)
> at
> org.apache.hadoop.hive.ql.exec.Operator.initEvaluators(Operator.java:878)
> at
> org.apache.hadoop.hive.ql.exec.Operator.initEvaluatorsAndReturnStruct(Operator.java:904)
> at
> org.apache.hadoop.hive.ql.exec.SelectOperator.initializeOp(SelectOperator.java:60)
> at
> org.apache.hadoop.hive.ql.exec.Operator.initialize(Operator.java:357)
> at
> org.apache.hadoop.hive.ql.exec.Operator.initialize(Operator.java:433)
> at
> org.apache.hadoop.hive.ql.exec.Operator.initializeChildren(Operator.java:389)
> at
> org.apache.hadoop.hive.ql.exec.TableScanOperator.initializeOp(TableScanOperator.java:133)
> at
> org.apache.hadoop.hive.ql.exec.Operator.initialize(Operator.java:357)
> at
> org.apache.hadoop.hive.ql.exec.MapOperator.initializeOp(MapOperator.java:444)
> at
> org.apache.hadoop.hive.ql.exec.Operator.initialize(Operator.java:357)
> at
> org.apache.hadoop.hive.ql.exec.ExecMapper.configure(ExecMapper.java:98)
> ... 18 more
> Caused by: java.lang.NullPointerException
> at
> java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:768)
> at
> org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:107)
> ... 31 more
> {noformat}
> Instead of null pointer exception it should throw meaning full exception
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira