You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pig.apache.org by "Koji Noguchi (JIRA)" <ji...@apache.org> on 2019/01/16 22:08:00 UTC

[jira] [Comment Edited] (PIG-5375) NullPointerException for multi-level self unions with Tez UnionOptimizer

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

Koji Noguchi edited comment on PIG-5375 at 1/16/19 10:07 PM:
-------------------------------------------------------------

For my reference (and maybe for the reviewer) attaching how the plan evolved with vertexgroup by the UnionOptimizer before my patch.  (using the script from the description)

!hadooppf-5375.png|thumbnail! 

Note the bottom of the vertex group output
{panel}
Tez vertex group scope-87 <- [{color:#FF0000}scope-56{color}, scope-53, {color:#FF0000}scope-56{color}, scope-54, scope-55] -> scope-81
{panel}
where the scope-56 no longer exist. What my patch does is, instead of replacing one scope-56 with scope-54&scope-55, it replaces all three scope-56 with scope-54&scope-55.
  

 


was (Author: knoguchi):
For my reference (and maybe for the reviewer) attaching how the plan evolved with vertexgroup by the UnionOptimizer before my patch.  (using the script from the description)

!hadooppf-5375.pdf|thumbnail! 

Note the bottom of the vertex group output
{panel}
Tez vertex group scope-87 <- [{color:#FF0000}scope-56{color}, scope-53, {color:#FF0000}scope-56{color}, scope-54, scope-55] -> scope-81
{panel}
where the scope-56 no longer exist. What my patch does is, instead of replacing one scope-56 with scope-54&scope-55, it replaces all three scope-56 with scope-54&scope-55.
  

 

> NullPointerException for multi-level self unions with Tez UnionOptimizer
> ------------------------------------------------------------------------
>
>                 Key: PIG-5375
>                 URL: https://issues.apache.org/jira/browse/PIG-5375
>             Project: Pig
>          Issue Type: Bug
>            Reporter: Koji Noguchi
>            Assignee: Koji Noguchi
>            Priority: Major
>         Attachments: pig-5375-v1.patch
>
>
> {code}
> A = load 'input.txt' as (a0:int, a1: chararray, a2:int);
> B = load 'input.txt' as (a0:int, a1: chararray, a2:int);
> C = load 'input.txt' as (a0:int, a1: chararray, a2:int);
> A_and_B = UNION A, B;
> SPLIT A_and_B INTO A_and_B2 IF a0 > 10, A_and_B3 OTHERWISE;
> A_and_B_and_C = UNION ONSCHEMA C, A_and_B;
> X = UNION ONSCHEMA A_and_B_and_C, A_and_B2, A_and_B3;
> X2 = GROUP X ALL ;
> dump X2;
> {code}
> This fails _on Tez_ with 
> {noformat}
> Pig Stack Trace
> ---------------
> ERROR 1002: Unable to store alias X2
> org.apache.pig.impl.logicalLayer.FrontendException: ERROR 1066: Unable to open iterator for alias X2
>         at org.apache.pig.PigServer.openIterator(PigServer.java:1024)
>         at org.apache.pig.tools.grunt.GruntParser.processDump(GruntParser.java:790)
>         at org.apache.pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.java:383)
>         at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:231)
>         at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:206)
>         at org.apache.pig.tools.grunt.Grunt.exec(Grunt.java:81)
>         at org.apache.pig.Main.run(Main.java:630)
>         at org.apache.pig.Main.main(Main.java:175)
> Caused by: org.apache.pig.PigException: ERROR 1002: Unable to store alias X2
>         at org.apache.pig.PigServer.storeEx(PigServer.java:1127)
>         at org.apache.pig.PigServer.store(PigServer.java:1086)
>         at org.apache.pig.PigServer.openIterator(PigServer.java:999)
>         ... 7 more
> Caused by: org.apache.pig.backend.executionengine.ExecException: ERROR 0: java.lang.NullPointerException
>         at org.apache.pig.backend.hadoop.executionengine.HExecutionEngine.launchPig(HExecutionEngine.java:296)
>         at org.apache.pig.PigServer.launchPlan(PigServer.java:1479)
>         at org.apache.pig.PigServer.executeCompiledLogicalPlan(PigServer.java:1464)
>         at org.apache.pig.PigServer.storeEx(PigServer.java:1123)
>         ... 9 more
> Caused by: java.lang.NullPointerException
>         at org.apache.pig.backend.hadoop.executionengine.tez.plan.TezPOPackageAnnotator.patchPackage(TezPOPackageAnnotator.java:97)
>         at org.apache.pig.backend.hadoop.executionengine.tez.plan.TezPOPackageAnnotator.handlePackage(TezPOPackageAnnotator.java:78)
>         at org.apache.pig.backend.hadoop.executionengine.tez.plan.TezPOPackageAnnotator.visitTezOp(TezPOPackageAnnotator.java:61)
>         at org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator.visit(TezOperator.java:265)
>         at org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator.visit(TezOperator.java:56)
>         at org.apache.pig.impl.plan.DepthFirstWalker.depthFirst(DepthFirstWalker.java:69)
>         at org.apache.pig.impl.plan.DepthFirstWalker.depthFirst(DepthFirstWalker.java:71)
>         at org.apache.pig.impl.plan.DepthFirstWalker.depthFirst(DepthFirstWalker.java:71)
>         at org.apache.pig.impl.plan.DepthFirstWalker.walk(DepthFirstWalker.java:52)
>         at org.apache.pig.impl.plan.PlanVisitor.visit(PlanVisitor.java:46)
>         at org.apache.pig.backend.hadoop.executionengine.tez.TezLauncher.launchPig(TezLauncher.java:197)
>         at org.apache.pig.backend.hadoop.executionengine.HExecutionEngine.launchPig(HExecutionEngine.java:290)
>         ... 12 more
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)