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

Daniel Dai commented on PIG-1911:
---------------------------------

+1, this is definitely a fix. Accumulator will only be used if there is an 
accumulator UDF in nested plan. So fix inside UDF should be fine.

Just help me to understand better, I think fix PORelationToExprProject is also 
possible. Since accumulator only need one extra bag to in order for UDF to 
invoke getValue(). So after exhaust all batch, send one extra bag, then send 
EOP, will solve the problem as well. Is that right?

> Infinite loop with accumulator function in nested foreach
> ---------------------------------------------------------
>
>                 Key: PIG-1911
>                 URL: https://issues.apache.org/jira/browse/PIG-1911
>             Project: Pig
>          Issue Type: Bug
>    Affects Versions: 0.8.0
>            Reporter: Olga Natkovich
>            Assignee: Thejas M Nair
>             Fix For: 0.8.0
>
>         Attachments: PIG-1911.08.1.patch, PIG-1911.trunk.1.patch
>
>
> Sample script:
> register v_udf.jar;
> a = load '2records' as (f1:chararray,f2:chararray);
> b = group a by f1;
> d = foreach b { sort = order a by f1; 
>   generate org.udfs.MyCOUNT(sort) as something ; }
> dump d;
> This causes infinite loop if MyCOUNT implements Accumulator interface.
> The workaround is to take the function out of nested foreach into a separate 
> foreach statement.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to