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

Ashutosh Chauhan commented on PIG-858:
--------------------------------------

visitUnion has same changes as others visit functions, that is it adds MR 
Operator corresponding to POUnion in phyToMROpMap map. Real changes are in 
visitFRJoin. Earlier in visitFRJoin, it used to look in compiledInputs array of 
MROper one by one trying to match MROPer leaf PO with POFRJoin using operator 
key. Now, it doesn't need to do that it can simply lookup in the phyToMROpMap.

> Order By followed by "replicated" join fails while compiling MR-plan from 
> physical plan
> ---------------------------------------------------------------------------------------
>
>                 Key: PIG-858
>                 URL: https://issues.apache.org/jira/browse/PIG-858
>             Project: Pig
>          Issue Type: Bug
>          Components: impl
>    Affects Versions: 0.4.0
>            Reporter: Ashutosh Chauhan
>            Assignee: Ashutosh Chauhan
>             Fix For: 0.6.0
>
>         Attachments: pig-858.patch
>
>
> Consider the query:
> {code}
> A = load 'a';
> B = order A by $0;
> C = join A by $0, B by $0;
> explain C;
> {code}
> works. But if replicated join is used instead
> {code}
> A = load 'a';
> B = order A by $0;
> C = join A by $0, B by $0 using "replicated";
> explain C;
> {code}
> this fails with ERROR org.apache.pig.tools.grunt.Grunt - ERROR 2034: Error 
> compiling operator POFRJoin
> relevant stacktrace:
> {code}
> Caused by: java.lang.RuntimeException: 
> org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MRCompilerException:
>  ERROR 2034: Error compiling operator POFRJoin
>         at 
> org.apache.pig.backend.hadoop.executionengine.HExecutionEngine.explain(HExecutionEngine.java:306)
>         at org.apache.pig.PigServer.explain(PigServer.java:574)
>         ... 8 more
> Caused by: 
> org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MRCompilerException:
>  ERROR 2034: Error compiling operator POFRJoin
>         at 
> org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MRCompiler.visitFRJoin(MRCompiler.java:942)
>         at 
> org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POFRJoin.visit(POFRJoin.java:173)
>         at 
> org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MRCompiler.compile(MRCompiler.java:342)
>         at 
> org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MRCompiler.compile(MRCompiler.java:327)
>         at 
> org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MRCompiler.compile(MRCompiler.java:233)
>         at 
> org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher.compile(MapReduceLauncher.java:301)
>         at 
> org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher.explain(MapReduceLauncher.java:278)
>         at 
> org.apache.pig.backend.hadoop.executionengine.HExecutionEngine.explain(HExecutionEngine.java:303)
>         ... 9 more
> Caused by: java.lang.ArrayIndexOutOfBoundsException: -1
>         at 
> org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MRCompiler.visitFRJoin(MRCompiler.java:901)
>         ... 16 more
> {code}

-- 
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