Author: daijy
Date: Tue Jun 16 23:56:04 2009
New Revision: 785450
URL: http://svn.apache.org/viewvc?rev=785450&view=rev
Log:
Dump produce wrong result while 'store into' is ok
Modified:
hadoop/pig/trunk/CHANGES.txt
hadoop/pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/MRCompiler.java
hadoop/pig/trunk/test/org/apache/pig/test/TestEvalPipeline2.java
Modified: hadoop/pig/trunk/CHANGES.txt
URL:
http://svn.apache.org/viewvc/hadoop/pig/trunk/CHANGES.txt?rev=785450&r1=785449&r2=785450&view=diff
==============================================================================
--- hadoop/pig/trunk/CHANGES.txt (original)
+++ hadoop/pig/trunk/CHANGES.txt Tue Jun 16 23:56:04 2009
@@ -82,6 +82,8 @@
BUG FIXES
+PIG-850: Dump produce wrong result while "store into" is ok (daijy)
+
PIG-846: MultiQuery optimization in some cases has an issue when there is a
split in the map plan (pradeepkth)
Modified:
hadoop/pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/MRCompiler.java
URL:
http://svn.apache.org/viewvc/hadoop/pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/MRCompiler.java?rev=785450&r1=785449&r2=785450&view=diff
==============================================================================
---
hadoop/pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/MRCompiler.java
(original)
+++
hadoop/pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/MRCompiler.java
Tue Jun 16 23:56:04 2009
@@ -1710,6 +1710,7 @@
FileSpec fSpec = getTempFileSpec();
((POStore)mpLeaf).setSFile(fSpec);
+ ((POStore)mpLeaf).setIsTmpStore(true);
mr.setReduceDone(true);
MapReduceOper limitAdjustMROp = getMROp();
POLoad ld = getLoad();
@@ -1724,6 +1725,7 @@
limitAdjustMROp.reducePlan.addAsLeaf(pLimit2);
POStore st = getStore();
st.setSFile(oldSpec);
+ st.setIsTmpStore(false);
limitAdjustMROp.reducePlan.addAsLeaf(st);
limitAdjustMROp.requestedParallelism = 1;
// If the operator we're following has global sort set, we
Modified: hadoop/pig/trunk/test/org/apache/pig/test/TestEvalPipeline2.java
URL:
http://svn.apache.org/viewvc/hadoop/pig/trunk/test/org/apache/pig/test/TestEvalPipeline2.java?rev=785450&r1=785449&r2=785450&view=diff
==============================================================================
--- hadoop/pig/trunk/test/org/apache/pig/test/TestEvalPipeline2.java (original)
+++ hadoop/pig/trunk/test/org/apache/pig/test/TestEvalPipeline2.java Tue Jun 16
23:56:04 2009
@@ -319,4 +319,32 @@
}
+ @Test
+ // Test case added for PIG-850
+ public void testLimitedSortWithDump() throws Exception{
+ int LOOP_COUNT = 40;
+ File tmpFile = File.createTempFile("test", "txt");
+ PrintStream ps = new PrintStream(new FileOutputStream(tmpFile));
+ Random r = new Random(1);
+ int rand;
+ for(int i = 0; i < LOOP_COUNT; i++) {
+ rand = r.nextInt(100);
+ ps.println(rand);
+ }
+ ps.close();
+
+ pigServer.registerQuery("A = LOAD '" +
Util.generateURI(tmpFile.toString()) + "' AS (num:int);");
+ pigServer.registerQuery("B = order A by num parallel 2;");
+ pigServer.registerQuery("C = limit B 10;");
+ Iterator<Tuple> result = pigServer.openIterator("C");
+
+ int numIdentity = 0;
+ while (result.hasNext())
+ {
+ Tuple t = result.next();
+ ++numIdentity;
+ }
+ assertEquals(10, numIdentity);
+ }
+
}