You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pig.apache.org by "Koji Noguchi (JIRA)" <ji...@apache.org> on 2018/04/10 14:31:00 UTC

[jira] [Commented] (PIG-5335) Error message from range projection completely misleading

    [ https://issues.apache.org/jira/browse/PIG-5335?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16432356#comment-16432356 ] 

Koji Noguchi commented on PIG-5335:
-----------------------------------

Full trace.
{noformat}
2018-04-10 10:22:33,360 [main] ERROR org.apache.pig.PigServer - exception during parsing: Error during parsing. Invalid field projection. Projected field [a0] does not exist in schema: a0:bytearray,a0:bytearray,a2:bytearray,a3:bytearray.
Failed to parse: Pig script failed to parse: <file test.pig, line 6, column 4> pig script failed to validate: org.apache.pig.impl.plan.PlanValidationException: ERROR 1025: Invalid field projection. Projected field [a0] does not exist in schema: a0:bytearray,a0:bytearray,a2:bytearray,a3:bytearray.
        at org.apache.pig.parser.QueryParserDriver.parse(QueryParserDriver.java:199)
        at org.apache.pig.PigServer$Graph.parseQuery(PigServer.java:1824)
        at org.apache.pig.PigServer$Graph.access$000(PigServer.java:1532)
        at org.apache.pig.PigServer.parseAndBuild(PigServer.java:461)
        at org.apache.pig.PigServer.executeBatch(PigServer.java:486)
        at org.apache.pig.PigServer.executeBatch(PigServer.java:472)
        at org.apache.pig.tools.grunt.GruntParser.executeBatch(GruntParser.java:172)
        at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:235)
        at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:206)
        at org.apache.pig.tools.grunt.Grunt.exec(Grunt.java:81)
        at org.apache.pig.Main.run(Main.java:630)
        at org.apache.pig.Main.main(Main.java:175)
Caused by: <file test.pig, line 6, column 4> pig script failed to validate: org.apache.pig.impl.plan.PlanValidationException: ERROR 1025: Invalid field projection. Projected field [a0] does not exist in schema: a0:bytearray,a0:bytearray,a2:bytearray,a3:bytearray.
        at org.apache.pig.parser.LogicalPlanBuilder.buildForeachOp(LogicalPlanBuilder.java:1066)
        at org.apache.pig.parser.LogicalPlanGenerator.foreach_clause(LogicalPlanGenerator.java:15896)
        at org.apache.pig.parser.LogicalPlanGenerator.op_clause(LogicalPlanGenerator.java:1933)
        at org.apache.pig.parser.LogicalPlanGenerator.general_statement(LogicalPlanGenerator.java:1102)
        at org.apache.pig.parser.LogicalPlanGenerator.statement(LogicalPlanGenerator.java:560)
        at org.apache.pig.parser.LogicalPlanGenerator.query(LogicalPlanGenerator.java:421)
        at org.apache.pig.parser.QueryParserDriver.parse(QueryParserDriver.java:191)
        ... 11 more
Caused by: org.apache.pig.impl.plan.PlanValidationException: ERROR 1025: Invalid field projection. Projected field [a0] does not exist in schema: a0:bytearray,a0:bytearray,a2:bytearray,a3:bytearray.
        at org.apache.pig.newplan.logical.expression.ProjectExpression.findColNum(ProjectExpression.java:191)
        at org.apache.pig.newplan.logical.expression.ProjectExpression.setColumnNumberFromAlias(ProjectExpression.java:154)
        at org.apache.pig.newplan.logical.visitor.ProjectStarExpander.visit(ProjectStarExpander.java:344)
        at org.apache.pig.parser.LogicalPlanBuilder.buildForeachOp(LogicalPlanBuilder.java:1062)
        ... 17 more
{noformat}

> Error message from range projection completely misleading
> ---------------------------------------------------------
>
>                 Key: PIG-5335
>                 URL: https://issues.apache.org/jira/browse/PIG-5335
>             Project: Pig
>          Issue Type: Bug
>            Reporter: Koji Noguchi
>            Assignee: Koji Noguchi
>            Priority: Major
>
> {code}
> A = load 'input.txt' as (a0,a1,a2,a3);
> B = FOREACH A GENERATE a0, a1, a2, a3;
> store B into '/tmp/deleteme';
> C = FOREACH A GENERATE a0, b1, a2, a3;
> D = FOREACH C GENERATE a0..a2;
> (end of script, no store, nothing)
> {code}
> Error message
> {panel}
> 2018-04-10 10:22:33,360 \[main] ERROR org.apache.pig.PigServer - exception during parsing: Error during parsing. Invalid field projection. Projected field \[a0] does not exist in schema: a0:bytearray,a0:bytearray,a2:bytearray,a3:bytearray.
> {panel}
> At least two issues.
> # Error should be about FOREACH for C referencing non-existing field 'b1'.  But the error message is saying something about 'a0'.
> # Script itself is not using relation C and D at all.  It's confusing to see errors coming out of unused relations.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)