From 2b7ae8dd5d9718b76d7ac98e0808c99a9ac677cc Mon Sep 17 00:00:00 2001 From: Jason Darrell Lowe Date: Thu, 26 Sep 2013 21:21:34 +0000 Subject: [PATCH] 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 --- hadoop-mapreduce-project/CHANGES.txt | 6 ++++++ .../hadoop/mapreduce/lib/jobcontrol/JobControl.java | 8 +++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/hadoop-mapreduce-project/CHANGES.txt b/hadoop-mapreduce-project/CHANGES.txt index eb4cee8ff62..38d16ca66f4 100644 --- a/hadoop-mapreduce-project/CHANGES.txt +++ b/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 diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/lib/jobcontrol/JobControl.java b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/lib/jobcontrol/JobControl.java index a76e36f349c..59e3331875b 100644 --- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/lib/jobcontrol/JobControl.java +++ b/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 JobControl(String groupName) { this.runnerState = ThreadState.READY; } - private static List toList( + synchronized private static List toList( LinkedList jobs) { ArrayList retv = new ArrayList(); - synchronized (jobs) { - for (ControlledJob job : jobs) { - retv.add(job); - } + for (ControlledJob job : jobs) { + retv.add(job); } return retv; }