[ https://issues.apache.org/jira/browse/PIG-2312?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13143058#comment-13143058 ]
Vivek Padmanabhan commented on PIG-2312: ---------------------------------------- Hi Olga,Sorry for the delayed response. I am attempting another patch for this issue. I have added some more test cases to cover the scenarios that I have faced while debugging. The patch includes changes in LogicalPlanGenerator.g and LogicalPlanBuilder (added a new map of operators). Apart from the general case mentioned in the above comment, I have tried to make the patch work with queries like; a) f3 = load .... A = load 'input' using PigStorage(',') as (f1:chararray, f2:chararray, f3:chararray,ct:long); B = GROUP A BY f1; C = FOREACH B { dis = DISTINCT A ; ordered = ORDER dis BY f3 ASC; ..... b) f3 = load .... A = load 'input' using PigStorage(',') as (f1:chararray, f2:chararray, f3:chararray,ct:long); B = GROUP A BY f1; C = FOREACH B { f3 = DISTINCT A ; ordered = ORDER f3 BY f3 ASC; ..... > 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.10 > > Attachments: PIG-2312_1.patch, PIG-2312_2.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