You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pig.apache.org by "Daniel Dai (JIRA)" <ji...@apache.org> on 2016/02/27 01:39:18 UTC

[jira] [Updated] (PIG-4816) Read a null scalar causing a Tez failure

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

Daniel Dai updated PIG-4816:
----------------------------
    Attachment: PIG-4816-1.patch

> Read a null scalar causing a Tez failure
> ----------------------------------------
>
>                 Key: PIG-4816
>                 URL: https://issues.apache.org/jira/browse/PIG-4816
>             Project: Pig
>          Issue Type: Bug
>            Reporter: Daniel Dai
>            Assignee: Daniel Dai
>             Fix For: 0.16.0
>
>         Attachments: PIG-4816-1.patch
>
>
> The following script fail:
> {code}
> a = load 'studenttab10k' as (name:chararray, age:int, gpa:double);
> b = filter a by age > 100;
> c = group b all;
> d = foreach c generate COUNT(b.gpa) as count;
> e = foreach a generate (d.count IS NOT NULL? d.count : 0l);
> dump e;
> {code}
> Error stack:
> {code}
> Failure while running task:org.apache.pig.backend.executionengine.ExecException: ERROR 0: java.io.IOException: Please check if you are invoking next() even after it returned false. For usage, please refer to KeyValueReader javadocs
> 	at org.apache.pig.backend.hadoop.executionengine.tez.plan.udf.ReadScalarsTez.attachInputs(ReadScalarsTez.java:96)
> 	at org.apache.pig.backend.hadoop.executionengine.tez.runtime.PigProcessor.initializeInputs(PigProcessor.java:295)
> 	at org.apache.pig.backend.hadoop.executionengine.tez.runtime.PigProcessor.run(PigProcessor.java:183)
> 	at org.apache.tez.runtime.LogicalIOProcessorRuntimeTask.run(LogicalIOProcessorRuntimeTask.java:337)
> 	at org.apache.tez.runtime.task.TezTaskRunner$TaskRunnerCallable$1.run(TezTaskRunner.java:179)
> 	at org.apache.tez.runtime.task.TezTaskRunner$TaskRunnerCallable$1.run(TezTaskRunner.java:171)
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at javax.security.auth.Subject.doAs(Subject.java:415)
> 	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1628)
> 	at org.apache.tez.runtime.task.TezTaskRunner$TaskRunnerCallable.callInternal(TezTaskRunner.java:171)
> 	at org.apache.tez.runtime.task.TezTaskRunner$TaskRunnerCallable.callInternal(TezTaskRunner.java:167)
> 	at org.apache.tez.common.CallableWithNdc.call(CallableWithNdc.java:36)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> 	at java.lang.Thread.run(Thread.java:745)
> Caused by: java.io.IOException: Please check if you are invoking next() even after it returned false. For usage, please refer to KeyValueReader javadocs
> 	at org.apache.tez.runtime.library.api.KeyValueReader.hasCompletedProcessing(KeyValueReader.java:77)
> 	at org.apache.tez.runtime.library.common.readers.UnorderedKVReader.moveToNextInput(UnorderedKVReader.java:190)
> 	at org.apache.tez.runtime.library.common.readers.UnorderedKVReader.next(UnorderedKVReader.java:118)
> 	at org.apache.pig.backend.hadoop.executionengine.tez.plan.udf.ReadScalarsTez.attachInputs(ReadScalarsTez.java:81)
> 	... 15 more
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)