[
https://issues.apache.org/jira/browse/PIG-2703?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Julien Le Dem updated PIG-2703:
-------------------------------
Priority: Minor (was: Major)
> NullPointerException when reusing non defined alias
> ---------------------------------------------------
>
> Key: PIG-2703
> URL: https://issues.apache.org/jira/browse/PIG-2703
> Project: Pig
> Issue Type: Bug
> Components: parser
> Affects Versions: 0.9.2
> Reporter: Julien Le Dem
> Assignee: Julien Le Dem
> Priority: Minor
>
> the following (invalid) script generates a NullPointerException:
> {noformat}
> C = FOREACH C GENERATE c1;
> ERROR 1200: null
> Failed to parse: null
> at
> org.apache.pig.parser.QueryParserDriver.parse(QueryParserDriver.java:180)
> at org.apache.pig.PigServer$Graph.validateQuery(PigServer.java:1560)
> at org.apache.pig.PigServer$Graph.registerQuery(PigServer.java:1533)
> at org.apache.pig.PigServer.registerQuery(PigServer.java:535)
> at
> org.apache.pig.tools.grunt.GruntParser.processPig(GruntParser.java:969)
> at
> org.apache.pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.java:386)
> at
> org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:189)
> at
> org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:165)
> at org.apache.pig.tools.grunt.Grunt.run(Grunt.java:69)
> at org.apache.pig.Main.run(Main.java:495)
> at org.apache.pig.Main.main(Main.java:111)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.apache.hadoop.util.RunJar.main(RunJar.java:186)
> Caused by: java.lang.NullPointerException
> at
> org.apache.pig.parser.LogicalPlanGenerator.alias_col_ref(LogicalPlanGenerator.java:14326)
> at
> org.apache.pig.parser.LogicalPlanGenerator.col_ref(LogicalPlanGenerator.java:14177)
> at
> org.apache.pig.parser.LogicalPlanGenerator.projectable_expr(LogicalPlanGenerator.java:8607)
> at
> org.apache.pig.parser.LogicalPlanGenerator.var_expr(LogicalPlanGenerator.java:8358)
> at
> org.apache.pig.parser.LogicalPlanGenerator.expr(LogicalPlanGenerator.java:7711)
> at
> org.apache.pig.parser.LogicalPlanGenerator.flatten_generated_item(LogicalPlanGenerator.java:5693)
> at
> org.apache.pig.parser.LogicalPlanGenerator.generate_clause(LogicalPlanGenerator.java:12307)
> at
> org.apache.pig.parser.LogicalPlanGenerator.foreach_plan(LogicalPlanGenerator.java:12048)
> at
> org.apache.pig.parser.LogicalPlanGenerator.foreach_clause(LogicalPlanGenerator.java:11915)
> at
> org.apache.pig.parser.LogicalPlanGenerator.op_clause(LogicalPlanGenerator.java:1364)
> at
> org.apache.pig.parser.LogicalPlanGenerator.general_statement(LogicalPlanGenerator.java:683)
> at
> org.apache.pig.parser.LogicalPlanGenerator.statement(LogicalPlanGenerator.java:483)
> at
> org.apache.pig.parser.LogicalPlanGenerator.query(LogicalPlanGenerator.java:369)
> at
> org.apache.pig.parser.QueryParserDriver.parse(QueryParserDriver.java:171)
> ... 15 more
> {noformat}
> When this one outputs the correct error:
> {noformat}
> D = FOREACH D GENERATE $0;
> ERROR 1200: Pig script failed to parse:
> <line 1, column 4> pig script failed to validate: Unrecognized alias D
> Failed to parse: Pig script failed to parse:
> <line 1, column 4> pig script failed to validate: Unrecognized alias D
> at
> org.apache.pig.parser.QueryParserDriver.parse(QueryParserDriver.java:178)
> at org.apache.pig.PigServer$Graph.validateQuery(PigServer.java:1560)
> at org.apache.pig.PigServer$Graph.registerQuery(PigServer.java:1533)
> at org.apache.pig.PigServer.registerQuery(PigServer.java:535)
> at
> org.apache.pig.tools.grunt.GruntParser.processPig(GruntParser.java:969)
> at
> org.apache.pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.java:386)
> at
> org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:189)
> at
> org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:165)
> at org.apache.pig.tools.grunt.Grunt.run(Grunt.java:69)
> at org.apache.pig.Main.run(Main.java:495)
> at org.apache.pig.Main.main(Main.java:111)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.apache.hadoop.util.RunJar.main(RunJar.java:186)
> Caused by:
> <line 1, column 4> pig script failed to validate: Unrecognized alias D
> at
> org.apache.pig.parser.LogicalPlanBuilder.buildOp(LogicalPlanBuilder.java:396)
> at
> org.apache.pig.parser.LogicalPlanBuilder.buildOp(LogicalPlanBuilder.java:384)
> at
> org.apache.pig.parser.LogicalPlanBuilder.buildForeachOp(LogicalPlanBuilder.java:448)
> at
> org.apache.pig.parser.LogicalPlanGenerator.foreach_clause(LogicalPlanGenerator.java:11931)
> at
> org.apache.pig.parser.LogicalPlanGenerator.op_clause(LogicalPlanGenerator.java:1364)
> at
> org.apache.pig.parser.LogicalPlanGenerator.general_statement(LogicalPlanGenerator.java:683)
> at
> org.apache.pig.parser.LogicalPlanGenerator.statement(LogicalPlanGenerator.java:483)
> at
> org.apache.pig.parser.LogicalPlanGenerator.query(LogicalPlanGenerator.java:369)
> at
> org.apache.pig.parser.QueryParserDriver.parse(QueryParserDriver.java:171)
> ... 15 more
> {noformat}
--
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