[ 
https://issues.apache.org/jira/browse/PIG-995?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Daniel Dai updated PIG-995:
---------------------------

    Attachment: PIG-995-2.patch

After discussion with Santhosh, I get a better patch. The problem is we do not 
generate projection map before applying optimization rules. If the optimization 
rules change the structure of the logical plan and then generate the projection 
map, we will end up using a wrong projection map. In the new patch, we 
regenerate projection map before applying each optimization rule.

> Limit Optimizer throw exception "ERROR 2156: Error while fixing projections"
> ----------------------------------------------------------------------------
>
>                 Key: PIG-995
>                 URL: https://issues.apache.org/jira/browse/PIG-995
>             Project: Pig
>          Issue Type: Bug
>          Components: impl
>    Affects Versions: 0.3.0
>            Reporter: Daniel Dai
>            Assignee: Daniel Dai
>             Fix For: 0.6.0
>
>         Attachments: PIG-995-1.patch, PIG-995-2.patch
>
>
> The following script fail:
> A = load '1.txt' AS (a0, a1, a2);
> B = order A by a1;
> C = limit B 10;
> D = foreach C generate $0;
> dump D;
> Error log:
> Caused by: org.apache.pig.impl.plan.VisitorException: ERROR 2156: Error while 
> fixing projections. Projection map of node to be replaced is null.
>         at 
> org.apache.pig.impl.logicalLayer.ProjectFixerUpper.visit(ProjectFixerUpper.java:138)
>         at 
> org.apache.pig.impl.logicalLayer.LOProject.visit(LOProject.java:408)
>         at org.apache.pig.impl.logicalLayer.LOProject.visit(LOProject.java:58)
>         at 
> org.apache.pig.impl.plan.DepthFirstWalker.depthFirst(DepthFirstWalker.java:65)
>         at 
> org.apache.pig.impl.plan.DepthFirstWalker.walk(DepthFirstWalker.java:50)
>         at org.apache.pig.impl.plan.PlanVisitor.visit(PlanVisitor.java:51)
>         at 
> org.apache.pig.impl.logicalLayer.LOForEach.rewire(LOForEach.java:761)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to