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