pig-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Satish Subhashrao Saley (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (PIG-5310) MergeJoin throwing NullPointer Exception
Date Tue, 28 Nov 2017 19:52:00 GMT

     [ https://issues.apache.org/jira/browse/PIG-5310?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Satish Subhashrao Saley updated PIG-5310:
-----------------------------------------
    Description: 
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. 

  was:
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| |


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

Mime
View raw message