Browse Source

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-2@1526702 13f79535-47bb-0310-9956-ffa450edef68
Jason Darrell Lowe 11 năm trước cách đây
mục cha
commit
2b7ae8dd5d

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

@@ -90,6 +90,9 @@ Release 2.1.2 - UNRELEASED
     MAPREDUCE-5525. Increase timeout of TestDFSIO.testAppend and
     TestMRJobsWithHistoryService.testJobHistoryData. (Chuan Liu via cnauroth)
 
+    MAPREDUCE-5513. ConcurrentModificationException in JobControl (Robert
+    Parker via jlowe)
+
 Release 2.1.1-beta - 2013-09-23
 
   INCOMPATIBLE CHANGES
@@ -1284,6 +1287,9 @@ Release 0.23.10 - UNRELEASED
     MAPREDUCE-5504. mapred queue -info inconsistent with types (Kousuke Saruta
     via tgraves)
 
+    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

@@ -77,13 +77,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;
   }