You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by cu...@apache.org on 2006/06/26 19:36:31 UTC

svn commit: r417249 - in /lucene/hadoop/trunk: CHANGES.txt src/java/org/apache/hadoop/mapred/JobTracker.java

Author: cutting
Date: Mon Jun 26 10:36:30 2006
New Revision: 417249

URL: http://svn.apache.org/viewvc?rev=417249&view=rev
Log:
HADOOP-135.  Fix potential deadlock in JobTracker by acquiring locks in a consistent order.  Contributed by Owen.

Modified:
    lucene/hadoop/trunk/CHANGES.txt
    lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/JobTracker.java

Modified: lucene/hadoop/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/hadoop/trunk/CHANGES.txt?rev=417249&r1=417248&r2=417249&view=diff
==============================================================================
--- lucene/hadoop/trunk/CHANGES.txt (original)
+++ lucene/hadoop/trunk/CHANGES.txt Mon Jun 26 10:36:30 2006
@@ -44,6 +44,9 @@
 10. HADOOP-319.  Fix FileSystem.close() to remove the FileSystem
     instance from the cache.  (Hairong Kuang via cutting)
 
+11. HADOOP-135.  Fix potential deadlock in JobTracker by acquiring
+    locks in a consistent order.  (omalley via cutting)
+
 
 Release 0.3.2 - 2006-06-09
 

Modified: lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/JobTracker.java
URL: http://svn.apache.org/viewvc/lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/JobTracker.java?rev=417249&r1=417248&r2=417249&view=diff
==============================================================================
--- lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/JobTracker.java (original)
+++ lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/JobTracker.java Mon Jun 26 10:36:30 2006
@@ -255,8 +255,8 @@
                 }
                 
                 synchronized (jobs) {
-                    synchronized (jobInitQueue) {
-                        synchronized (jobsByArrival) {
+                    synchronized (jobsByArrival) {
+                        synchronized (jobInitQueue) {
                             for (Iterator it = jobs.keySet().iterator(); it.hasNext(); ) {
                                 String jobid = (String) it.next();
                                 JobInProgress job = (JobInProgress) jobs.get(jobid);