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


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

        

Reply via email to