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 2013/11/13 20:40:34 UTC
svn commit: r1541675 - in /pig/branches/branch-0.12: ./
src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/relationalOperators/
src/org/apache/pig/data/ test/org/apache/pig/test/
Author: daijy
Date: Wed Nov 13 19:40:34 2013
New Revision: 1541675
URL: http://svn.apache.org/r1541675
Log:
PIG-3570: Rollback PIG-3060
Modified:
pig/branches/branch-0.12/CHANGES.txt
pig/branches/branch-0.12/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/relationalOperators/POForEach.java
pig/branches/branch-0.12/src/org/apache/pig/data/DefaultAbstractBag.java
pig/branches/branch-0.12/test/org/apache/pig/test/TestEvalPipelineLocal.java
Modified: pig/branches/branch-0.12/CHANGES.txt
URL: http://svn.apache.org/viewvc/pig/branches/branch-0.12/CHANGES.txt?rev=1541675&r1=1541674&r2=1541675&view=diff
==============================================================================
--- pig/branches/branch-0.12/CHANGES.txt (original)
+++ pig/branches/branch-0.12/CHANGES.txt Wed Nov 13 19:40:34 2013
@@ -32,6 +32,8 @@ PIG-3480: TFile-based tmpfile compressio
BUG FIXES
+PIG-3570: Rollback PIG-3060 (daijy)
+
PIG-3530: Some e2e tests is broken due to PIG-3480 (daijy)
PIG-3492: ColumnPrune dropping used column due to LogicalRelationalOperator.fixDuplicateUids changes not propagating (knoguchi via daijy)
Modified: pig/branches/branch-0.12/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/relationalOperators/POForEach.java
URL: http://svn.apache.org/viewvc/pig/branches/branch-0.12/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/relationalOperators/POForEach.java?rev=1541675&r1=1541674&r2=1541675&view=diff
==============================================================================
--- pig/branches/branch-0.12/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/relationalOperators/POForEach.java (original)
+++ pig/branches/branch-0.12/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/relationalOperators/POForEach.java Wed Nov 13 19:40:34 2013
@@ -441,12 +441,12 @@ public class POForEach extends PhysicalO
if(its[i].hasNext()) {
data[i] = its[i].next();
} else {
- //the input set is null, so we return with EOP. This is
+ //the input set is null, so we return. This is
// caught above and this function recalled with
// new inputs.
its = null;
data = null;
- res.returnStatus = POStatus.STATUS_EOP;
+ res.returnStatus = POStatus.STATUS_NULL;
return res;
}
} else {
Modified: pig/branches/branch-0.12/src/org/apache/pig/data/DefaultAbstractBag.java
URL: http://svn.apache.org/viewvc/pig/branches/branch-0.12/src/org/apache/pig/data/DefaultAbstractBag.java?rev=1541675&r1=1541674&r2=1541675&view=diff
==============================================================================
--- pig/branches/branch-0.12/src/org/apache/pig/data/DefaultAbstractBag.java (original)
+++ pig/branches/branch-0.12/src/org/apache/pig/data/DefaultAbstractBag.java Wed Nov 13 19:40:34 2013
@@ -97,7 +97,7 @@ public abstract class DefaultAbstractBag
}
for (int i = sampled; iter.hasNext() && sampled < SPILL_SAMPLE_SIZE; i++) {
Tuple t = iter.next();
- if (i % SPILL_SAMPLE_FREQUENCY == 0) {
+ if (t != null && i % SPILL_SAMPLE_FREQUENCY == 0) {
aggSampleTupleSize += t.getMemorySize();
sampled += 1;
}
Modified: pig/branches/branch-0.12/test/org/apache/pig/test/TestEvalPipelineLocal.java
URL: http://svn.apache.org/viewvc/pig/branches/branch-0.12/test/org/apache/pig/test/TestEvalPipelineLocal.java?rev=1541675&r1=1541674&r2=1541675&view=diff
==============================================================================
--- pig/branches/branch-0.12/test/org/apache/pig/test/TestEvalPipelineLocal.java (original)
+++ pig/branches/branch-0.12/test/org/apache/pig/test/TestEvalPipelineLocal.java Wed Nov 13 19:40:34 2013
@@ -1173,4 +1173,34 @@ public class TestEvalPipelineLocal {
Assert.assertFalse(iter.hasNext());
}
+ static public class GenBag extends EvalFunc<DataBag> {
+ @Override
+ public DataBag exec(Tuple input) throws IOException {
+ Integer content = (Integer)input.get(0);
+ DataBag bag = BagFactory.getInstance().newDefaultBag();
+
+ if (content > 10) {
+ Tuple t = TupleFactory.getInstance().newTuple();
+ t.append(content);
+ bag.add(t);
+ }
+ return bag;
+ }
+ }
+ // Two flatten statement in a pipeline, see PIG-3292
+ @Test
+ public void testFlattenTwice() throws Exception{
+ File f1 = createFile(new String[]{"{(1),(12),(9)}", "{(15),(2)}"});
+
+ pigServer.registerQuery("a = load '" + Util.encodeEscape(Util.generateURI(f1.toString(), pigServer.getPigContext()))
+ + "' as (bag1:bag{(t:int)});");
+ pigServer.registerQuery("b = foreach a generate flatten(bag1) as field1;");
+ pigServer.registerQuery("c = foreach b generate flatten(" + GenBag.class.getName() + "(field1));");
+
+ Iterator<Tuple> iter = pigServer.openIterator("c");
+ Assert.assertEquals(iter.next().toString(), "(12)");
+ Assert.assertEquals(iter.next().toString(), "(15)");
+
+ Assert.assertFalse(iter.hasNext());
+ }
}