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 (Updated) (JIRA)" <ji...@apache.org> on 2012/03/15 00:30:42 UTC

[jira] [Updated] (PIG-2312) NPE when relation and column share the same name and used in Nested Foreach

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

Daniel Dai updated PIG-2312:
----------------------------

    Fix Version/s:     (was: 0.10)
                   0.11

The fix is quite involved and we need more time to figure the best way. Unlink from 0.10.
                
> NPE when relation and column share the same name and used in Nested Foreach 
> ----------------------------------------------------------------------------
>
>                 Key: PIG-2312
>                 URL: https://issues.apache.org/jira/browse/PIG-2312
>             Project: Pig
>          Issue Type: Bug
>    Affects Versions: 0.9.0
>            Reporter: Vivek Padmanabhan
>            Assignee: Vivek Padmanabhan
>             Fix For: 0.11
>
>         Attachments: PIG-2312_1.patch, PIG-2312_2.patch, PIG-2312_3.patch
>
>
> With Pig0.9, if a relation and a column has the same name and if the column is used in a nested foreach, the script execution fails 
> while compiling.
> The below is the trace;
> {code}
> java.lang.NullPointerException
> 	at org.apache.pig.newplan.logical.visitor.ScalarVisitor$1.visit(ScalarVisitor.java:63)
> 	at org.apache.pig.newplan.logical.expression.ScalarExpression.accept(ScalarExpression.java:109)
> 	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.AllExpressionVisitor.visit(AllExpressionVisitor.java:142)
> 	at org.apache.pig.newplan.logical.relational.LOSort.accept(LOSort.java:119)
> 	at org.apache.pig.newplan.DependencyOrderWalker.walk(DependencyOrderWalker.java:75)
> 	at org.apache.pig.newplan.logical.optimizer.AllExpressionVisitor.visit(AllExpressionVisitor.java:104)
> 	at org.apache.pig.newplan.logical.relational.LOForEach.accept(LOForEach.java:74)
> 	at org.apache.pig.newplan.DependencyOrderWalker.walk(DependencyOrderWalker.java:75)
> 	at org.apache.pig.newplan.PlanVisitor.visit(PlanVisitor.java:50)
> 	at org.apache.pig.PigServer$Graph.compile(PigServer.java:1674)
> 	at org.apache.pig.PigServer$Graph.compile(PigServer.java:1666)
> 	at org.apache.pig.PigServer$Graph.access$200(PigServer.java:1391)
> 	at org.apache.pig.PigServer.execute(PigServer.java:1293)
> 	at org.apache.pig.PigServer.executeBatch(PigServer.java:359)
> 	at org.apache.pig.tools.grunt.GruntParser.executeBatch(GruntParser.java:131)
> 	at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:192)
> 	at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:164)
> 	at org.apache.pig.tools.grunt.Grunt.exec(Grunt.java:81)
> 	at org.apache.pig.Main.run(Main.java:553)
> 	at org.apache.pig.Main.main(Main.java:108)
> {code}
> This could be reproduced with the below script 
> {code}
> f3 = load 'input.txt' as (a1:chararray);
> A = load '3char_1long_tab' as (f1:chararray, f2:chararray, f3:chararray,ct:long);
> B = GROUP A  BY f1;
> C =    FOREACH B {
>         zip_ordered = ORDER A BY f3 ASC; 
>         GENERATE
>                 FLATTEN(group) AS f1,	
>                 A.(f3, ct),
> 		COUNT(zip_ordered),
>                 SUM(A.ct) AS total;
>   };
> STORE C INTO 'deletemeanytimeplease';
> {code}
> Checked with a unit test in trunk, the behavior is still same. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira