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);
+    }
+
 }


Reply via email to