You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pig.apache.org by "Satish Subhashrao Saley (JIRA)" <ji...@apache.org> on 2017/11/28 19:54:00 UTC

[jira] [Comment Edited] (PIG-5310) MergeJoin throwing NullPointer Exception

    [ https://issues.apache.org/jira/browse/PIG-5310?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16267896#comment-16267896 ] 

Satish Subhashrao Saley edited comment on PIG-5310 at 11/28/17 7:53 PM:
------------------------------------------------------------------------

Fixed the test case. 
The test case earlier was not throwing exception without the fix because I was not loading key as integer. By default it was DataByteArray. 


was (Author: satishsaley):
Fixed the test case.

> MergeJoin throwing NullPointer Exception
> ----------------------------------------
>
>                 Key: PIG-5310
>                 URL: https://issues.apache.org/jira/browse/PIG-5310
>             Project: Pig
>          Issue Type: Bug
>            Reporter: Satish Subhashrao Saley
>            Assignee: Satish Subhashrao Saley
>         Attachments: PIG-5310-1.patch, PIG-5310-2.patch
>
>
> Merge join throws NullPointerException if left input's first key doesn't exist in right input and if it is smaller than first key of right input.
> For ex
> |left|right|
> |1|3|
> |1|5|
> |1| |
> Error we get - 
> {code}
> ERROR 2998: Unhandled internal error. Vertex failed, vertexName=scope-16, vertexId=vertex_1509400259446_0001_1_02, diagnostics=[Task failed, taskId=task_1509400259446_0001_1_02_000000, diagnostics=[TaskAttempt 0 failed, info=[Error: Error while running task ( failure ) : attempt_1509400259446_0001_1_02_000000_0:java.lang.NullPointerException
> 	at java.lang.Integer.compareTo(Integer.java:1216)
> 	at java.lang.Integer.compareTo(Integer.java:52)
> 	at org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POMergeJoin.getNextTuple(POMergeJoin.java:525)
> 	at org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator.processInput(PhysicalOperator.java:305)
> 	at org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POStoreTez.getNextTuple(POStoreTez.java:123)
> 	at org.apache.pig.backend.hadoop.executionengine.tez.runtime.PigProcessor.runPipeline(PigProcessor.java:416)
> 	at org.apache.pig.backend.hadoop.executionengine.tez.runtime.PigProcessor.run(PigProcessor.java:281)
> 	at org.apache.tez.runtime.LogicalIOProcessorRuntimeTask.run(LogicalIOProcessorRuntimeTask.java:370)
> 	at org.apache.tez.runtime.task.TaskRunner2Callable$1.run(TaskRunner2Callable.java:73)
> 	at org.apache.tez.runtime.task.TaskRunner2Callable$1.run(TaskRunner2Callable.java:61)
> 	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:1945)
> 	at org.apache.tez.runtime.task.TaskRunner2Callable.callInternal(TaskRunner2Callable.java:61)
> 	at org.apache.tez.runtime.task.TaskRunner2Callable.callInternal(TaskRunner2Callable.java:37)
> 	at org.apache.tez.common.CallableWithNdc.call(CallableWithNdc.java:36)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> 	at java.lang.Thread.run(Thread.java:745)
> {code}
> Here, the key used in join is an integer. Integer.compareTo(other) method throws null pointer exception if comparison is made against null. 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)