You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pig.apache.org by ro...@apache.org on 2017/01/23 17:30:47 UTC
svn commit: r1779958 - in /pig/branches/branch-0.16:
src/org/apache/pig/backend/hadoop/executionengine/tez/plan/operator/POSimpleTezLoad.java
test/org/apache/pig/test/TestLocal.java
Author: rohini
Date: Mon Jan 23 17:30:46 2017
New Revision: 1779958
URL: http://svn.apache.org/viewvc?rev=1779958&view=rev
Log:
PIG-5108 Additional patch to issue for all tuple types (rohini)
Modified:
pig/branches/branch-0.16/src/org/apache/pig/backend/hadoop/executionengine/tez/plan/operator/POSimpleTezLoad.java
pig/branches/branch-0.16/test/org/apache/pig/test/TestLocal.java
Modified: pig/branches/branch-0.16/src/org/apache/pig/backend/hadoop/executionengine/tez/plan/operator/POSimpleTezLoad.java
URL: http://svn.apache.org/viewvc/pig/branches/branch-0.16/src/org/apache/pig/backend/hadoop/executionengine/tez/plan/operator/POSimpleTezLoad.java?rev=1779958&r1=1779957&r2=1779958&view=diff
==============================================================================
--- pig/branches/branch-0.16/src/org/apache/pig/backend/hadoop/executionengine/tez/plan/operator/POSimpleTezLoad.java (original)
+++ pig/branches/branch-0.16/src/org/apache/pig/backend/hadoop/executionengine/tez/plan/operator/POSimpleTezLoad.java Mon Jan 23 17:30:46 2017
@@ -60,6 +60,8 @@ public class POSimpleTezLoad extends POL
private transient Configuration conf;
private transient boolean finished = false;
private transient TezCounter inputRecordCounter;
+ private transient boolean initialized;
+ private transient boolean noTupleCopy;
public POSimpleTezLoad(OperatorKey k, LoadFunc loader) {
super(k, loader);
@@ -149,7 +151,13 @@ public class POSimpleTezLoad extends POL
} else {
Result res = new Result();
Tuple next = (Tuple) reader.getCurrentValue();
- res.result = next;
+ if (!initialized) {
+ noTupleCopy = mTupleFactory.newTuple(1).getClass().isInstance(next);
+ initialized = true;
+ }
+ // Some Loaders return implementations of DefaultTuple instead of BinSedesTuple
+ // In that case copy to BinSedesTuple
+ res.result = noTupleCopy ? next : mTupleFactory.newTupleNoCopy(next.getAll());
res.returnStatus = POStatus.STATUS_OK;
if (inputRecordCounter != null) {
inputRecordCounter.increment(1);
Modified: pig/branches/branch-0.16/test/org/apache/pig/test/TestLocal.java
URL: http://svn.apache.org/viewvc/pig/branches/branch-0.16/test/org/apache/pig/test/TestLocal.java?rev=1779958&r1=1779957&r2=1779958&view=diff
==============================================================================
--- pig/branches/branch-0.16/test/org/apache/pig/test/TestLocal.java (original)
+++ pig/branches/branch-0.16/test/org/apache/pig/test/TestLocal.java Mon Jan 23 17:30:46 2017
@@ -39,6 +39,7 @@ import org.apache.pig.builtin.PigStorage
import org.apache.pig.data.BagFactory;
import org.apache.pig.data.DataBag;
import org.apache.pig.data.DataType;
+import org.apache.pig.data.DefaultTuple;
import org.apache.pig.data.Tuple;
import org.apache.pig.data.TupleFactory;
import org.apache.pig.impl.io.FileLocalizer;
@@ -166,7 +167,8 @@ public class TestLocal {
public Tuple getNext() throws IOException {
if (count < COUNT) {
- Tuple t = TupleFactory.getInstance().newTuple(Integer.toString(count++));
+ Tuple t = new DefaultTuple();
+ t.append(Integer.toString(count++));
return t;
}