hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "jiraposter@reviews.apache.org (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HIVE-2182) Avoid null pointer exception when executing UDF
Date Tue, 13 Sep 2011 17:33:11 GMT

    [ https://issues.apache.org/jira/browse/HIVE-2182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13103803#comment-13103803
] 

jiraposter@reviews.apache.org commented on HIVE-2182:
-----------------------------------------------------


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/1759/
-----------------------------------------------------------

(Updated 2011-09-13 17:32:55.124065)


Review request for hive and John Sichi.


Changes
-------

Patch rebased on trunk


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 (updated)
-----

  trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFBridge.java 1170044 
  trunk/ql/src/test/queries/clientnegative/udfnull.q PRE-CREATION 
  trunk/ql/src/test/results/clientnegative/udfnull.q.out PRE-CREATION 
  trunk/ql/src/test/results/compiler/plan/cast1.q.xml 1170044 
  trunk/ql/src/test/results/compiler/plan/groupby1.q.xml 1170044 
  trunk/ql/src/test/results/compiler/plan/groupby2.q.xml 1170044 
  trunk/ql/src/test/results/compiler/plan/groupby3.q.xml 1170044 
  trunk/ql/src/test/results/compiler/plan/groupby4.q.xml 1170044 
  trunk/ql/src/test/results/compiler/plan/groupby5.q.xml 1170044 
  trunk/ql/src/test/results/compiler/plan/groupby6.q.xml 1170044 
  trunk/ql/src/test/results/compiler/plan/input20.q.xml 1170044 
  trunk/ql/src/test/results/compiler/plan/input8.q.xml 1170044 
  trunk/ql/src/test/results/compiler/plan/join2.q.xml 1170044 
  trunk/ql/src/test/results/compiler/plan/sample1.q.xml 1170044 
  trunk/ql/src/test/results/compiler/plan/sample2.q.xml 1170044 
  trunk/ql/src/test/results/compiler/plan/sample3.q.xml 1170044 
  trunk/ql/src/test/results/compiler/plan/sample4.q.xml 1170044 
  trunk/ql/src/test/results/compiler/plan/sample5.q.xml 1170044 
  trunk/ql/src/test/results/compiler/plan/sample6.q.xml 1170044 
  trunk/ql/src/test/results/compiler/plan/sample7.q.xml 1170044 
  trunk/ql/src/test/results/compiler/plan/udf1.q.xml 1170044 
  trunk/ql/src/test/results/compiler/plan/udf4.q.xml 1170044 
  trunk/ql/src/test/results/compiler/plan/udf6.q.xml 1170044 

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.3.patch, HIVE-2182.4.patch,
HIVE-2182.5.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

        

Mime
View raw message