Author: daijy
Date: Wed May 26 18:33:09 2010
New Revision: 948526

URL: http://svn.apache.org/viewvc?rev=948526&view=rev
Log:
PIG-1347: Clear up output directory for a failed job

Modified:
    hadoop/pig/trunk/CHANGES.txt
    hadoop/pig/trunk/src/org/apache/pig/PigServer.java
    hadoop/pig/trunk/src/org/apache/pig/impl/io/FileLocalizer.java
    hadoop/pig/trunk/test/org/apache/pig/test/TestMultiQueryLocal.java

Modified: hadoop/pig/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/hadoop/pig/trunk/CHANGES.txt?rev=948526&r1=948525&r2=948526&view=diff
==============================================================================
--- hadoop/pig/trunk/CHANGES.txt (original)
+++ hadoop/pig/trunk/CHANGES.txt Wed May 26 18:33:09 2010
@@ -70,6 +70,8 @@ PIG-1309: Map-side Cogroup (ashutoshc)
 
 BUG FIXES
 
+PIG-1347: Clear up output directory for a failed job (daijy)
+
 PIG-1419: Remove "user.name" from JobConf (daijy)
 
 PIG-1359: bin/pig script does not pick up correct jar libraries (zjffdu)

Modified: hadoop/pig/trunk/src/org/apache/pig/PigServer.java
URL: 
http://svn.apache.org/viewvc/hadoop/pig/trunk/src/org/apache/pig/PigServer.java?rev=948526&r1=948525&r2=948526&view=diff
==============================================================================
--- hadoop/pig/trunk/src/org/apache/pig/PigServer.java (original)
+++ hadoop/pig/trunk/src/org/apache/pig/PigServer.java Wed May 26 18:33:09 2010
@@ -1066,7 +1066,6 @@ public class PigServer {
     private List<ExecJob> executeCompiledLogicalPlan(LogicalPlan compiledLp) 
throws ExecException {
         PhysicalPlan pp = compilePp(compiledLp);
         // execute using appropriate engine
-        FileLocalizer.clearDeleteOnFail();
         List<ExecJob> execJobs = pigContext.getExecutionEngine().execute(pp, 
"job_pigexec_");
         for (ExecJob execJob: execJobs) {
             if (execJob.getStatus()==ExecJob.JOB_STATUS.FAILED) {

Modified: hadoop/pig/trunk/src/org/apache/pig/impl/io/FileLocalizer.java
URL: 
http://svn.apache.org/viewvc/hadoop/pig/trunk/src/org/apache/pig/impl/io/FileLocalizer.java?rev=948526&r1=948525&r2=948526&view=diff
==============================================================================
--- hadoop/pig/trunk/src/org/apache/pig/impl/io/FileLocalizer.java (original)
+++ hadoop/pig/trunk/src/org/apache/pig/impl/io/FileLocalizer.java Wed May 26 
18:33:09 2010
@@ -430,19 +430,6 @@ public class FileLocalizer {
     };
 
     /**
-     * Thread local deleteOnFail Stack to hold descriptors to be deleted upon
-     * calling triggerDeleteOnFail. Use the deleteOnFail() method to access 
this
-     * stack.
-     */
-    private static ThreadLocal<Stack<ElementDescriptor>> deleteOnFail =
-        new ThreadLocal<Stack<ElementDescriptor>>() {
-
-        protected Stack<ElementDescriptor> initialValue() {
-            return new Stack<ElementDescriptor>();
-        }
-    };
-
-    /**
      * Thread local relativeRoot ContainerDescriptor. Do not access this object
      * directly, since it's lazy initialized in the relativeRoot(PigContext)
      * method, which should be used instead.
@@ -460,14 +447,6 @@ public class FileLocalizer {
     }
 
     /**
-     * Convenience accessor method to the deleteOnFail Stack bound to this 
thread.
-     * @return A Stack of ElementDescriptors that should be deleted upon 
failure.
-     */
-    private static Stack<ElementDescriptor> deleteOnFail() {
-        return deleteOnFail.get();
-    }
-
-    /**
      * This method is only used by test code to reset state.
      * @param initialized
      */
@@ -636,35 +615,6 @@ public class FileLocalizer {
         FileLocalizer.r = r;
     }
     
-    public static void clearDeleteOnFail()
-    {
-       deleteOnFail().clear();
-    }
-    public static void registerDeleteOnFail(String filename, PigContext 
pigContext) throws IOException
-    {
-       try {
-               ElementDescriptor elem = 
pigContext.getDfs().asElement(filename);
-               if (!toDelete().contains(elem))
-                   deleteOnFail().push(elem);
-       }
-        catch (DataStorageException e) {
-            log.warn("Unable to register output file to delete on failure: " + 
filename);
-        }
-    }
-    public static void triggerDeleteOnFail()
-    {
-       ElementDescriptor elem = null;
-       while (!deleteOnFail().empty()) {
-            try {
-                elem = deleteOnFail().pop();
-                if (elem.exists())
-                       elem.delete();
-            } 
-            catch (IOException e) {
-                log.warn("Unable to delete output file on failure: " + 
elem.toString());
-            }
-       }
-    }
     /**
      * Convert path from Windows convention to Unix convention. Invoked under
      * cygwin.

Modified: hadoop/pig/trunk/test/org/apache/pig/test/TestMultiQueryLocal.java
URL: 
http://svn.apache.org/viewvc/hadoop/pig/trunk/test/org/apache/pig/test/TestMultiQueryLocal.java?rev=948526&r1=948525&r2=948526&view=diff
==============================================================================
--- hadoop/pig/trunk/test/org/apache/pig/test/TestMultiQueryLocal.java 
(original)
+++ hadoop/pig/trunk/test/org/apache/pig/test/TestMultiQueryLocal.java Wed May 
26 18:33:09 2010
@@ -550,12 +550,10 @@ public class TestMultiQueryLocal extends
 
     private boolean executePlan(PhysicalPlan pp) throws IOException {
         boolean failed = true;
-        FileLocalizer.clearDeleteOnFail();
         List<ExecJob> jobs = 
myPig.getPigContext().getExecutionEngine().execute(pp, "execute");
         for (ExecJob job: jobs) {
             failed = (job.getStatus() == ExecJob.JOB_STATUS.FAILED);
             if (failed) {
-                FileLocalizer.triggerDeleteOnFail();
                 break;
             }
         }


Reply via email to