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 2014/03/20 00:27:11 UTC
svn commit: r1579463 -
/pig/branches/tez/src/org/apache/pig/backend/hadoop/executionengine/tez/POValueInputTez.java
Author: daijy
Date: Wed Mar 19 23:27:11 2014
New Revision: 1579463
URL: http://svn.apache.org/r1579463
Log:
PIG-3789: tuple in POStream binaryInputQueue keep changing
Modified:
pig/branches/tez/src/org/apache/pig/backend/hadoop/executionengine/tez/POValueInputTez.java
Modified: pig/branches/tez/src/org/apache/pig/backend/hadoop/executionengine/tez/POValueInputTez.java
URL: http://svn.apache.org/viewvc/pig/branches/tez/src/org/apache/pig/backend/hadoop/executionengine/tez/POValueInputTez.java?rev=1579463&r1=1579462&r2=1579463&view=diff
==============================================================================
--- pig/branches/tez/src/org/apache/pig/backend/hadoop/executionengine/tez/POValueInputTez.java (original)
+++ pig/branches/tez/src/org/apache/pig/backend/hadoop/executionengine/tez/POValueInputTez.java Wed Mar 19 23:27:11 2014
@@ -31,6 +31,7 @@ import org.apache.pig.backend.hadoop.exe
import org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result;
import org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor;
import org.apache.pig.data.Tuple;
+import org.apache.pig.data.TupleFactory;
import org.apache.pig.impl.plan.OperatorKey;
import org.apache.pig.impl.plan.VisitorException;
import org.apache.tez.runtime.api.LogicalInput;
@@ -49,6 +50,7 @@ public class POValueInputTez extends Phy
// TODO Change this to value only reader after implementing
// value only input output
private transient KeyValueReader reader;
+ protected static final TupleFactory mTupleFactory = TupleFactory.getInstance();
public POValueInputTez(OperatorKey k) {
super(k);
@@ -81,7 +83,9 @@ public class POValueInputTez extends Phy
return RESULT_EOP;
}
if (reader.next()) {
- return new Result(POStatus.STATUS_OK, reader.getCurrentValue());
+ Tuple origTuple = (Tuple)reader.getCurrentValue();
+ Tuple copy = mTupleFactory.newTuple(origTuple.getAll());
+ return new Result(POStatus.STATUS_OK, copy);
} else {
finished = true;
return RESULT_EOP;