[ https://issues.apache.org/jira/browse/PIG-2828?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13672896#comment-13672896 ]
Julien Le Dem commented on PIG-2828: ------------------------------------ Sounds good to me. > DataType.compare null > --------------------- > > Key: PIG-2828 > URL: https://issues.apache.org/jira/browse/PIG-2828 > Project: Pig > Issue Type: Bug > Reporter: Haitao Yao > Attachments: DataType.patch, PIG-2828.patch, test.patch > > > While using TOP, and if the DataBag contains null value to compare, it will > generate the following exception: > Caused by: java.lang.NullPointerException > at org.apache.pig.data.DataType.compare(DataType.java:427) > at org.apache.pig.builtin.TOP$TupleComparator.compare(TOP.java:97) > at org.apache.pig.builtin.TOP$TupleComparator.compare(TOP.java:1) > at java.util.PriorityQueue.siftUpUsingComparator(PriorityQueue.java:649) > at java.util.PriorityQueue.siftUp(PriorityQueue.java:627) > at java.util.PriorityQueue.offer(PriorityQueue.java:329) > at java.util.PriorityQueue.add(PriorityQueue.java:306) > at org.apache.pig.builtin.TOP.updateTop(TOP.java:141) > at org.apache.pig.builtin.TOP.exec(TOP.java:116) > code: (TOP.java, starts with line 91) > Object field1 = o1.get(fieldNum); > Object field2 = o2.get(fieldNum); > if (!typeFound) { > datatype = DataType.findType(field1); > typeFound = true; > } > return DataType.compare(field1, field2, datatype, datatype); > The reason is that if the typeFound is true , and the dataType is not null, > and field1 is null, the script failed. > So we need to judge the field1 whether is null. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira