[
https://issues.apache.org/jira/browse/HIVE-14617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15436864#comment-15436864
]
Xuefu Zhang edited comment on HIVE-14617 at 8/25/16 1:34 PM:
-------------------------------------------------------------
Test failures above are not related to the patch here. They appeared in other
test runs as well.
Patch #1 fixes code style only. I'm not submitting this patch to avoid wasting
another testing cycle. Will commit this patch today.
was (Author: xuefuz):
Patch #1 fixes code style only. I'm not submitting this patch to avoid wasting
another testing cycle. Will commit this patch today.
> 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
> 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)