You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pig.apache.org by xu...@apache.org on 2016/03/31 04:31:32 UTC
svn commit: r1737173 -
/pig/branches/spark/src/org/apache/pig/backend/hadoop/executionengine/spark/converter/CollectedGroupConverter.java
Author: xuefu
Date: Thu Mar 31 02:31:31 2016
New Revision: 1737173
URL: http://svn.apache.org/viewvc?rev=1737173&view=rev
Log:
PIG-4842: Collected group doesn't work in some cases (Xianda via Xuefu)
Modified:
pig/branches/spark/src/org/apache/pig/backend/hadoop/executionengine/spark/converter/CollectedGroupConverter.java
Modified: pig/branches/spark/src/org/apache/pig/backend/hadoop/executionengine/spark/converter/CollectedGroupConverter.java
URL: http://svn.apache.org/viewvc/pig/branches/spark/src/org/apache/pig/backend/hadoop/executionengine/spark/converter/CollectedGroupConverter.java?rev=1737173&r1=1737172&r2=1737173&view=diff
==============================================================================
--- pig/branches/spark/src/org/apache/pig/backend/hadoop/executionengine/spark/converter/CollectedGroupConverter.java (original)
+++ pig/branches/spark/src/org/apache/pig/backend/hadoop/executionengine/spark/converter/CollectedGroupConverter.java Thu Mar 31 02:31:31 2016
@@ -73,6 +73,16 @@ public class CollectedGroupConverter imp
@Override
protected Result getNextResult() throws ExecException {
+
+ // if endOfAllInput was set as true by the predecessors, but input.hasNext() is true.
+ // it means that the predecessor has consumed all of its input,
+ // but poCollectedGroup still hasn't consumed all of its input.
+ //
+ // set endOfAllInput as false here, so that POCollectedGroup.getNextTuple() can work correctly
+ if (poCollectedGroup.getParentPlan().endOfAllInput && input.hasNext()) {
+ poCollectedGroup.getParentPlan().endOfAllInput = false;
+ }
+
return poCollectedGroup.getNextTuple();
}