[ 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)