[ https://issues.apache.org/jira/browse/HIVE-14617?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Xuefu Zhang resolved HIVE-14617. -------------------------------- Resolution: Fixed Fix Version/s: 2.2.0 Committed latest patch to master. Thanks to Chao for the review. > NPE in UDF MapValues() if input is null > --------------------------------------- > > Key: HIVE-14617 > URL: https://issues.apache.org/jira/browse/HIVE-14617 > Project: Hive > Issue Type: Bug > Components: HiveServer2 > Affects Versions: 2.1.0 > Reporter: Xuefu Zhang > Assignee: Xuefu Zhang > Fix For: 2.2.0 > > Attachments: HIVE-14617.1.patch, HIVE-14617.patch > > > For query > {code} > select exploded_traits from hdrone.vehiclestore_udr_vehicle > lateral view explode(map_values(vehicle_traits.vehicle_traits)) traits as > exploded_traits > where datestr > '2016-08-22' LIMIT 100 > {code} > Job fails with error msg as follows: > {code} > Error: java.lang.RuntimeException: > org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error while > processing row > {"ts":null,"_max_added_id":null,"identity_info":null,"vehicle_specs":null,"tracking_info":null,"color_info":null,"vehicle_traits":null,"detail_info":null,"_row_key":null,"_shard":null,"image_info":null,"vehicle_tags":null,"activation_info":null,"flavor_info":null,"sounds":null,"legacy_info":null,"images":null,"datestr":"2016-08-24"} > at org.apache.hadoop.hive.ql.exec.mr.ExecMapper.map(ExecMapper.java:179) at > org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:54) at > org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:453) at > org.apache.hadoop.mapred.MapTask.run(MapTask.java:343) at > org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:163) at > java.security.AccessController.doPrivileged(Native Method) at > javax.security.auth.Subject.doAs(Subject.java:422) at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1671) > at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158) Caused by: > org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error while > processing row > {"ts":null,"_max_added_id":null,"identity_info":null,"vehicle_specs":null,"tracking_info":null,"color_info":null,"vehicle_traits":null,"detail_info":null,"_row_key":null,"_shard":null,"image_info":null,"vehicle_tags":null,"activation_info":null,"flavor_info":null,"sounds":null,"legacy_info":null,"images":null,"datestr":"2016-08-24"} > at org.apache.hadoop.hive.ql.exec.MapOperator.process(MapOperator.java:507) > at org.apache.hadoop.hive.ql.exec.mr.ExecMapper.map(ExecMapper.java:170) ... > 8 more Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: Error > evaluating map_values(vehicle_traits.vehicle_traits) at > org.apache.hadoop.hive.ql.exec.SelectOperator.processOp(SelectOperator.java:82) > at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:815) at > org.apache.hadoop.hive.ql.exec.LateralViewForwardOperator.processOp(LateralViewForwardOperator.java:37) > at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:815) at > org.apache.hadoop.hive.ql.exec.TableScanOperator.processOp(TableScanOperator.java:95) > at > org.apache.hadoop.hive.ql.exec.MapOperator$MapOpCtx.forward(MapOperator.java:157) > at org.apache.hadoop.hive.ql.exec.MapOperator.process(MapOperator.java:497) > ... 9 more Caused by: java.lang.NullPointerException at > org.apache.hadoop.hive.ql.udf.generic.GenericUDFMapValues.evaluate(GenericUDFMapValues.java:64) > at > org.apache.hadoop.hive.ql.exec.ExprNodeGenericFuncEvaluator._evaluate(ExprNodeGenericFuncEvaluator.java:185) > at > org.apache.hadoop.hive.ql.exec.ExprNodeEvaluator.evaluate(ExprNodeEvaluator.java:77) > at > org.apache.hadoop.hive.ql.exec.ExprNodeEvaluator.evaluate(ExprNodeEvaluator.java:65) > at > org.apache.hadoop.hive.ql.exec.SelectOperator.processOp(SelectOperator.java:77) > ... 15 more > {code} > It appears that null is not properly handled in > GenericUDFMapValues.evaluate() method. -- This message was sent by Atlassian JIRA (v6.3.4#6332)