Prechádzať zdrojové kódy

svn merge -c 1526688 FIXES: MAPREDUCE-5513. ConcurrentModificationException in JobControl. Contributed by Robert Parker

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.23@1526707 13f79535-47bb-0310-9956-ffa450edef68
Jason Darrell Lowe 11 rokov pred
rodič
commit
06e2d34770

+ 3 - 0
hadoop-mapreduce-project/CHANGES.txt

@@ -46,6 +46,9 @@ Release 0.23.10 - UNRELEASED
     MAPREDUCE-5543. In-memory map outputs can be leaked after shuffle completes
     in 0.23 (Jason Lowe via jeagles)
 
+    MAPREDUCE-5513. ConcurrentModificationException in JobControl (Robert
+    Parker via jlowe)
+
 Release 0.23.9 - 2013-07-08
 
   INCOMPATIBLE CHANGES

+ 3 - 5
hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/lib/jobcontrol/JobControl.java

@@ -76,13 +76,11 @@ public class JobControl implements Runnable {
     this.runnerState = ThreadState.READY;
   }
 	
-  private static List<ControlledJob> toList(
+  synchronized private static List<ControlledJob> toList(
                    LinkedList<ControlledJob> jobs) {
     ArrayList<ControlledJob> retv = new ArrayList<ControlledJob>();
-    synchronized (jobs) {
-      for (ControlledJob job : jobs) {
-        retv.add(job);
-      }
+    for (ControlledJob job : jobs) {
+      retv.add(job);
     }
     return retv;
   }