Uploaded image for project: 'Pig'
  1. Pig
  2. PIG-2703

NullPointerException when reusing non defined alias

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Not A Problem
    • 0.9.2
    • None
    • parser

    Description

      the following (invalid) script generates a NullPointerException:

      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
      

      When this one outputs the correct error:

      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
      

      Attachments

        Activity

          People

            julienledem Julien Le Dem
            julienledem Julien Le Dem
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: