Author: olga
Date: Mon Aug 25 16:22:43 2008
New Revision: 688918

URL: http://svn.apache.org/viewvc?rev=688918&view=rev
Log:
PIG-392: error handling with multiple MR jobs

Modified:
    incubator/pig/branches/types/CHANGES.txt
    
incubator/pig/branches/types/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/LocalLauncher.java
    
incubator/pig/branches/types/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/MapReduceLauncher.java

Modified: incubator/pig/branches/types/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/incubator/pig/branches/types/CHANGES.txt?rev=688918&r1=688917&r2=688918&view=diff
==============================================================================
--- incubator/pig/branches/types/CHANGES.txt (original)
+++ incubator/pig/branches/types/CHANGES.txt Mon Aug 25 16:22:43 2008
@@ -171,3 +171,5 @@
     PIG-329: TestStoreOld, 2 unit tests were broken
 
     PIG-353: parsing of complex types
+
+    PIG-392: error handling with multiple MRjobs

Modified: 
incubator/pig/branches/types/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/LocalLauncher.java
URL: 
http://svn.apache.org/viewvc/incubator/pig/branches/types/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/LocalLauncher.java?rev=688918&r1=688917&r2=688918&view=diff
==============================================================================
--- 
incubator/pig/branches/types/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/LocalLauncher.java
 (original)
+++ 
incubator/pig/branches/types/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/LocalLauncher.java
 Mon Aug 25 16:22:43 2008
@@ -64,18 +64,17 @@
                 log.info((int)(prog * 100) + "% complete");
             lastProg = prog;
         }
-        lastProg = calculateProgress(jc, jobClient)/numMRJobs;
-        if(isComplete(lastProg))
-            log.info("Completed Successfully");
-        else{
-            log.info("Unsuccessful attempt. Completed " + lastProg * 100 + "% 
of the job");
-            List<Job> failedJobs = jc.getFailedJobs();
-            if(failedJobs==null)
-                throw new ExecException("Something terribly wrong with Job 
Control.");
-            for (Job job : failedJobs) {
-                getStats(job,jobClient);
+        // Look to see if any jobs failed.  If so, we need to report that.
+        List<Job> failedJobs = jc.getFailedJobs();
+        if (failedJobs != null && failedJobs.size() > 0) {
+            log.error("Map reduce job failed");
+            for (Job fj : failedJobs) {
+                log.error(fj.getMessage());
+                getStats(fj, jobClient);
             }
+            return false;
         }
+
         List<Job> succJobs = jc.getSuccessfulJobs();
         if(succJobs!=null)
             for(Job job : succJobs){
@@ -84,7 +83,7 @@
 
         jc.stop(); 
         
-        return isComplete(lastProg);
+        return true;
     }
 
     @Override

Modified: 
incubator/pig/branches/types/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/MapReduceLauncher.java
URL: 
http://svn.apache.org/viewvc/incubator/pig/branches/types/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/MapReduceLauncher.java?rev=688918&r1=688917&r2=688918&view=diff
==============================================================================
--- 
incubator/pig/branches/types/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/MapReduceLauncher.java
 (original)
+++ 
incubator/pig/branches/types/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/MapReduceLauncher.java
 Mon Aug 25 16:22:43 2008
@@ -81,18 +81,17 @@
                 log.info((int)(prog * 100) + "% complete");
             lastProg = prog;
         }
-        lastProg = calculateProgress(jc, jobClient)/numMRJobs;
-        if(isComplete(lastProg))
-            log.info("Completed Successfully");
-        else{
-            log.info("Unsuccessful attempt. Completed " + lastProg * 100 + "% 
of the job");
-            List<Job> failedJobs = jc.getFailedJobs();
-            if(failedJobs==null)
-                throw new ExecException("Something terribly wrong with Job 
Control.");
-            for (Job job : failedJobs) {
-                getStats(job,jobClient);
+        // Look to see if any jobs failed.  If so, we need to report that.
+        List<Job> failedJobs = jc.getFailedJobs();
+        if (failedJobs != null && failedJobs.size() > 0) {
+            log.error("Map reduce job failed");
+            for (Job fj : failedJobs) {
+                log.error(fj.getMessage());
+                getStats(fj, jobClient);
             }
+            return false;
         }
+
         List<Job> succJobs = jc.getSuccessfulJobs();
         if(succJobs!=null)
             for(Job job : succJobs){
@@ -101,7 +100,7 @@
 
         jc.stop(); 
         
-        return isComplete(lastProg);
+        return true;
     }
 
     @Override


Reply via email to