[
https://issues.apache.org/jira/browse/PIG-5381?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Koji Noguchi updated PIG-5381:
------------------------------
Attachment: pig-5381-v01.patch
Uploading a patch, {{pig-5381-v01.patch}}, but not confident.
Looking at the code, I feel that num_parameter=1 check for accumulator should
be done at {{AccumulatorOptimizerUtil.check}} level instead of
{{AccumulatorOptimizerUtil.checkUDFInput}} level.
This patch passes the test case and no regression in test failures but I must
be missing something since this part of the code has been there for years.
> Extra foreach in nested-foreach preventing Accumulator usage
> ------------------------------------------------------------
>
> Key: PIG-5381
> URL: https://issues.apache.org/jira/browse/PIG-5381
> Project: Pig
> Issue Type: Bug
> Reporter: Koji Noguchi
> Assignee: Koji Noguchi
> Priority: Major
> Attachments: pig-5381-v01.patch
>
>
> {code}
> A = LOAD 'test.input1' AS (a1:int, a2:chararray, a3:int);
> B = GROUP A by a1;
> C = FOREACH B {
> C2 = FOREACH A generate a2, a3;
> GENERATE group, org.apache.pig.test.utils.AccumulatorBagCount(C2);
> }
> dump C;
> {code}
> This simple code fails with
> {noformat}
> Caused by: java.io.IOException: exec() should not be called.
> at
> org.apache.pig.test.utils.AccumulatorBagCount.exec(AccumulatorBagCount.java:56)
> at
> org.apache.pig.test.utils.AccumulatorBagCount.exec(AccumulatorBagCount.java:28)
> at
> org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POUserFunc.getNext(POUserFunc.java:332)
> ... 17 more
> {noformat}
> Somehow pig decides not to enable Accumulator in this case.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)