[
https://issues.apache.org/jira/browse/PIG-2828?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13673318#comment-13673318
]
Aniket Mokashi commented on PIG-2828:
-------------------------------------
I have created https://issues.apache.org/jira/browse/PIG-3343 to track api
refactor.
> 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