MAPREDUCE-2460. Fix flaky test TestFairSchedulerSystem. Contributed by Todd Lipcon.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/mapreduce/trunk@1098842 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/CHANGES.txt b/CHANGES.txt
index 96e49d5..683c92c 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -154,6 +154,8 @@
     MAPREDUCE-2465. Disable raid contrib which is unable to compile after
     HDFS federation merge. (todd)
 
+    MAPREDUCE-2460. Fix flaky test TestFairSchedulerSystem. (todd)
+
 Release 0.22.0 - Unreleased
 
   INCOMPATIBLE CHANGES
diff --git a/src/contrib/fairscheduler/src/test/org/apache/hadoop/mapred/TestFairSchedulerSystem.java b/src/contrib/fairscheduler/src/test/org/apache/hadoop/mapred/TestFairSchedulerSystem.java
index f33697d..bb6808d 100644
--- a/src/contrib/fairscheduler/src/test/org/apache/hadoop/mapred/TestFairSchedulerSystem.java
+++ b/src/contrib/fairscheduler/src/test/org/apache/hadoop/mapred/TestFairSchedulerSystem.java
@@ -123,8 +123,17 @@
           continue;
         }
         for (JobStatus j : jobs) {
-          System.err.println("Checking task log for " + j.getJobID());
-          checkTaskGraphServlet(j.getJobID());
+          System.err.println("Checking task graph for " + j.getJobID());
+          try {
+            checkTaskGraphServlet(j.getJobID());
+          } catch (AssertionError err) {
+            // The task graph servlet will be empty if the job has retired.
+            // This is OK.
+            RunningJob rj = jc.getJob(j.getJobID());
+            if (!rj.isRetired()) {
+              throw err;
+            }
+          }
         }
       }
     }