You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pig.apache.org by da...@apache.org on 2015/11/02 20:12:04 UTC
svn commit: r1712115 - in /pig/branches/branch-0.15: ./
src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/expressionOperators/
Author: daijy
Date: Mon Nov 2 19:12:03 2015
New Revision: 1712115
URL: http://svn.apache.org/viewvc?rev=1712115&view=rev
Log:
PIG-4644: PORelationToExprProject.clone() is broken
Modified:
pig/branches/branch-0.15/CHANGES.txt
pig/branches/branch-0.15/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/expressionOperators/POProject.java
pig/branches/branch-0.15/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/expressionOperators/PORelationToExprProject.java
Modified: pig/branches/branch-0.15/CHANGES.txt
URL: http://svn.apache.org/viewvc/pig/branches/branch-0.15/CHANGES.txt?rev=1712115&r1=1712114&r2=1712115&view=diff
==============================================================================
--- pig/branches/branch-0.15/CHANGES.txt (original)
+++ pig/branches/branch-0.15/CHANGES.txt Mon Nov 2 19:12:03 2015
@@ -28,6 +28,8 @@ OPTIMIZATIONS
BUG FIXES
+PIG-4644: PORelationToExprProject.clone() is broken (erwaman via rohini)
+
PIG-4703: TezOperator.stores shall not ship to backend (daijy)
PIG-4688: Limit followed by POPartialAgg can give empty or partial results in Tez (rohini)
Modified: pig/branches/branch-0.15/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/expressionOperators/POProject.java
URL: http://svn.apache.org/viewvc/pig/branches/branch-0.15/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/expressionOperators/POProject.java?rev=1712115&r1=1712114&r2=1712115&view=diff
==============================================================================
--- pig/branches/branch-0.15/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/expressionOperators/POProject.java (original)
+++ pig/branches/branch-0.15/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/expressionOperators/POProject.java Mon Nov 2 19:12:03 2015
@@ -62,20 +62,20 @@ public class POProject extends Expressio
//True if we are in the middle of streaming tuples
//in a bag
- boolean processingBagOfTuples = false;
+ private boolean processingBagOfTuples = false;
//The bag iterator used while straeming tuple
- transient Iterator<Tuple> bagIterator = null;
+ private transient Iterator<Tuple> bagIterator = null;
//Represents the fact that this instance of POProject
//is overloaded to stream tuples in the bag rather
//than passing the entire bag. It is the responsibility
//of the translator to set this.
- boolean overloaded = false;
+ protected boolean overloaded = false;
- private boolean isProjectToEnd = false;
- private int startCol;
+ protected boolean isProjectToEnd = false;
+ protected int startCol;
public POProject(OperatorKey k) {
this(k,-1,0);
Modified: pig/branches/branch-0.15/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/expressionOperators/PORelationToExprProject.java
URL: http://svn.apache.org/viewvc/pig/branches/branch-0.15/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/expressionOperators/PORelationToExprProject.java?rev=1712115&r1=1712114&r2=1712115&view=diff
==============================================================================
--- pig/branches/branch-0.15/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/expressionOperators/PORelationToExprProject.java (original)
+++ pig/branches/branch-0.15/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/expressionOperators/PORelationToExprProject.java Mon Nov 2 19:12:03 2015
@@ -25,6 +25,7 @@ import org.apache.pig.backend.hadoop.exe
import org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor;
import org.apache.pig.data.DataType;
import org.apache.pig.data.NonSpillableDataBag;
+import org.apache.pig.impl.plan.NodeIdGenerator;
import org.apache.pig.impl.plan.OperatorKey;
import org.apache.pig.impl.plan.VisitorException;
@@ -139,9 +140,23 @@ public class PORelationToExprProject ext
return(r);
}
+ // See PIG-4644
@Override
public PORelationToExprProject clone() throws CloneNotSupportedException {
- return (PORelationToExprProject) super.clone();
+ ArrayList<Integer> cols = new ArrayList<Integer>(columns.size());
+ // Can reuse the same Integer objects, as they are immutable
+ for (Integer i : columns) {
+ cols.add(i);
+ }
+ PORelationToExprProject clone = new PORelationToExprProject(new OperatorKey(mKey.scope,
+ NodeIdGenerator.getGenerator().getNextNodeId(mKey.scope)),
+ requestedParallelism, cols);
+ clone.cloneHelper(this);
+ clone.overloaded = overloaded;
+ clone.startCol = startCol;
+ clone.isProjectToEnd = isProjectToEnd;
+ clone.resultType = resultType;
+ clone.sendEmptyBagOnEOP = sendEmptyBagOnEOP;
+ return clone;
}
-
}