[ https://issues.apache.org/jira/browse/HIVE-13237?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15186373#comment-15186373 ]
Jimmy Xiang commented on HIVE-13237: ------------------------------------ Thanks a lot for the review. The issue is that when ExprNodeFieldEvaluator initializes: {noformat} field = structObjectInspector.getStructFieldRef(expr.getFieldName()); {noformat} It tries to get the struct field based on the field name. Here, the field name is "fieldone". The object inspector is ArrayWritableObjectInspector, which saves the name to field mapping to a map. In the map, the name is "fieldOne", so the line above gets a null field. The patch is to make sure the lookup to be case insensitive. > Select parquet struct field with upper case throws NPE > ------------------------------------------------------ > > Key: HIVE-13237 > URL: https://issues.apache.org/jira/browse/HIVE-13237 > Project: Hive > Issue Type: Bug > Reporter: Jimmy Xiang > Assignee: Jimmy Xiang > Attachments: HIVE-13237.1.patch > > > Query "select msg.fieldone from test" throws NPE if msg's fieldone is > actually fieldOne: > {noformat} > 2016-03-08 17:30:57,772 ERROR [main]: exec.FetchTask > (FetchTask.java:initialize(86)) - java.lang.NullPointerException > at > org.apache.hadoop.hive.ql.exec.ExprNodeFieldEvaluator.initialize(ExprNodeFieldEvaluator.java:61) > at > org.apache.hadoop.hive.ql.exec.Operator.initEvaluators(Operator.java:954) > at > org.apache.hadoop.hive.ql.exec.Operator.initEvaluatorsAndReturnStruct(Operator.java:980) > at > org.apache.hadoop.hive.ql.exec.SelectOperator.initializeOp(SelectOperator.java:63) > at > org.apache.hadoop.hive.ql.exec.Operator.initialize(Operator.java:385) > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)