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

Thejas M Nair commented on PIG-1732:
------------------------------------

+1 
Please commit after test-patch and unit tests pass.


> New logical plan: logical plan get confused if we generate the same field 
> twice in ForEach
> ------------------------------------------------------------------------------------------
>
>                 Key: PIG-1732
>                 URL: https://issues.apache.org/jira/browse/PIG-1732
>             Project: Pig
>          Issue Type: Bug
>          Components: impl
>    Affects Versions: 0.8.0
>            Reporter: Daniel Dai
>            Assignee: Daniel Dai
>             Fix For: 0.8.0
>
>         Attachments: PIG-1732-1.patch, PIG-1732-2.patch
>
>
> The following script fail:
> {code}
> a = load '1.txt' as (a0, a1);
> b = load '2.txt' as (b0, b1, b2);
> c = foreach a generate a0, a1, a1 as a2;
> d = union b, c;
> e = foreach d generate $1;
> explain e;
> {code}
> Error message:
> ERROR 2000: Error processing rule ColumnMapKeyPrune. Try -t ColumnMapKeyPrune
> org.apache.pig.impl.logicalLayer.FrontendException: ERROR 1067: Unable to 
> explain alias e
>         at org.apache.pig.PigServer.explain(PigServer.java:958)
>         at 
> org.apache.pig.tools.grunt.GruntParser.explainCurrentBatch(GruntParser.java:353)
>         at 
> org.apache.pig.tools.grunt.GruntParser.processExplain(GruntParser.java:285)
>         at 
> org.apache.pig.tools.grunt.GruntParser.processExplain(GruntParser.java:248)
>         at 
> org.apache.pig.tools.pigscript.parser.PigScriptParser.Explain(PigScriptParser.java:605)
>         at 
> org.apache.pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.java:327)
>         at 
> org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:165)
>         at 
> org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:141)
>         at org.apache.pig.tools.grunt.Grunt.exec(Grunt.java:90)
>         at org.apache.pig.Main.run(Main.java:498)
>         at org.apache.pig.Main.main(Main.java:107)
> Caused by: org.apache.pig.impl.logicalLayer.FrontendException: ERROR 2042: 
> Error in new logical plan. Try -Dpig.usenewlogicalplan=false.
>         at 
> org.apache.pig.backend.hadoop.executionengine.HExecutionEngine.compile(HExecutionEngine.java:309)
>         at org.apache.pig.PigServer.compilePp(PigServer.java:1354)
>         at org.apache.pig.PigServer.explain(PigServer.java:927)
>         ... 10 more
> Caused by: org.apache.pig.impl.logicalLayer.FrontendException: ERROR 2000: 
> Error processing rule ColumnMapKeyPrune. Try -t ColumnMapKeyPrune
>         at 
> org.apache.pig.newplan.optimizer.PlanOptimizer.optimize(PlanOptimizer.java:120)
>         at 
> org.apache.pig.backend.hadoop.executionengine.HExecutionEngine.compile(HExecutionEngine.java:277)
>         ... 12 more
> Caused by: java.lang.NullPointerException
>         at 
> org.apache.pig.newplan.logical.relational.LOUnion.getSchema(LOUnion.java:75)
>         at 
> org.apache.pig.newplan.logical.optimizer.SchemaResetter.visit(SchemaResetter.java:127)
>         at 
> org.apache.pig.newplan.logical.relational.LOUnion.accept(LOUnion.java:102)
>         at 
> org.apache.pig.newplan.DependencyOrderWalker.walk(DependencyOrderWalker.java:75)
>         at org.apache.pig.newplan.PlanVisitor.visit(PlanVisitor.java:50)
>         at 
> org.apache.pig.newplan.logical.optimizer.SchemaPatcher.transformed(SchemaPatcher.java:43)
>         at 
> org.apache.pig.newplan.optimizer.PlanOptimizer.optimize(PlanOptimizer.java:112)
> The problem is caused by c = foreach a generate a0, a1, a1 as a2, in which we 
> will generate two fields share one uid.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to