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 yh...@apache.org on 2009/03/19 14:21:23 UTC

svn commit: r755988 - in /hadoop/core/branches/branch-0.20: ./ CHANGES.txt src/contrib/fairscheduler/src/java/org/apache/hadoop/mapred/FairSchedulerServlet.java

Author: yhemanth
Date: Thu Mar 19 13:21:23 2009
New Revision: 755988

URL: http://svn.apache.org/viewvc?rev=755988&view=rev
Log:
Merge -r 755985:755986 from trunk to branch 0.20 to fix HADOOP-5534.

Modified:
    hadoop/core/branches/branch-0.20/   (props changed)
    hadoop/core/branches/branch-0.20/CHANGES.txt   (contents, props changed)
    hadoop/core/branches/branch-0.20/src/contrib/fairscheduler/src/java/org/apache/hadoop/mapred/FairSchedulerServlet.java

Propchange: hadoop/core/branches/branch-0.20/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Mar 19 13:21:23 2009
@@ -1,2 +1,2 @@
 /hadoop/core/branches/branch-0.19:713112
-/hadoop/core/trunk:727001,727117,727191,727212,727217,727228,727255,727869,728187,729052,729987,732385,732572,732613,732777,732838,732869,733887,734870,734916,736426,738328,738697,740077,740157,741703,741762,743745,743816,743892,744894,745180,746010,746206,746227,746233,746274,746338,746902-746903,746925,746944,746968,746970,747279,747289,747802,748084,748090,748783,749262,749318,749863,750533,752073,752609,752834,752836,752913,752932,753112-753113,753346,754645,754847,754927,755035,755226,755348,755370,755418,755426,755790,755905,755938,755960
+/hadoop/core/trunk:727001,727117,727191,727212,727217,727228,727255,727869,728187,729052,729987,732385,732572,732613,732777,732838,732869,733887,734870,734916,736426,738328,738697,740077,740157,741703,741762,743745,743816,743892,744894,745180,746010,746206,746227,746233,746274,746338,746902-746903,746925,746944,746968,746970,747279,747289,747802,748084,748090,748783,749262,749318,749863,750533,752073,752609,752834,752836,752913,752932,753112-753113,753346,754645,754847,754927,755035,755226,755348,755370,755418,755426,755790,755905,755938,755960,755986

Modified: hadoop/core/branches/branch-0.20/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/core/branches/branch-0.20/CHANGES.txt?rev=755988&r1=755987&r2=755988&view=diff
==============================================================================
--- hadoop/core/branches/branch-0.20/CHANGES.txt (original)
+++ hadoop/core/branches/branch-0.20/CHANGES.txt Thu Mar 19 13:21:23 2009
@@ -770,6 +770,9 @@
     HADOOP-5471. Fixes a problem to do with updating the log.index file in the 
     case where a cleanup task is run. (Amareshwari Sriramadasu via ddas)
 
+    HADOOP-5534. Fixed a deadlock in Fair scheduler's servlet.
+    (Rahul Kumar Singh via yhemanth)
+
 Release 0.19.2 - Unreleased
 
   BUG FIXES

Propchange: hadoop/core/branches/branch-0.20/CHANGES.txt
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Mar 19 13:21:23 2009
@@ -1,3 +1,3 @@
 /hadoop/core/branches/branch-0.18/CHANGES.txt:727226
 /hadoop/core/branches/branch-0.19/CHANGES.txt:713112
-/hadoop/core/trunk/CHANGES.txt:727001,727117,727191,727212,727228,727255,727869,728187,729052,729987,732385,732572,732613,732777,732838,732869,733887,734870,734916,735082,736426,738602,738697,739416,740077,740157,741703,741762,743296,743745,743816,743892,744894,745180,745268,746010,746193,746206,746227,746233,746274,746902-746903,746925,746944,746968,746970,747279,747289,747802,748084,748090,748783,749262,749318,749863,750533,752073,752514,752555,752590,752609,752834,752836,752913,752932,753112-753113,753346,754645,754847,754927,755035,755226,755348,755370,755418,755426,755790,755905,755938
+/hadoop/core/trunk/CHANGES.txt:727001,727117,727191,727212,727228,727255,727869,728187,729052,729987,732385,732572,732613,732777,732838,732869,733887,734870,734916,735082,736426,738602,738697,739416,740077,740157,741703,741762,743296,743745,743816,743892,744894,745180,745268,746010,746193,746206,746227,746233,746274,746902-746903,746925,746944,746968,746970,747279,747289,747802,748084,748090,748783,749262,749318,749863,750533,752073,752514,752555,752590,752609,752834,752836,752913,752932,753112-753113,753346,754645,754847,754927,755035,755226,755348,755370,755418,755426,755790,755905,755938,755986

Modified: hadoop/core/branches/branch-0.20/src/contrib/fairscheduler/src/java/org/apache/hadoop/mapred/FairSchedulerServlet.java
URL: http://svn.apache.org/viewvc/hadoop/core/branches/branch-0.20/src/contrib/fairscheduler/src/java/org/apache/hadoop/mapred/FairSchedulerServlet.java?rev=755988&r1=755987&r2=755988&view=diff
==============================================================================
--- hadoop/core/branches/branch-0.20/src/contrib/fairscheduler/src/java/org/apache/hadoop/mapred/FairSchedulerServlet.java (original)
+++ hadoop/core/branches/branch-0.20/src/contrib/fairscheduler/src/java/org/apache/hadoop/mapred/FairSchedulerServlet.java Thu Mar 19 13:21:23 2009
@@ -87,35 +87,36 @@
     }
     if (request.getParameter("setPool") != null) {
       Collection<JobInProgress> runningJobs = jobTracker.getRunningJobs();
+      PoolManager poolMgr = null;
       synchronized (scheduler) {
-        PoolManager poolMgr = scheduler.getPoolManager();
-        String pool = request.getParameter("setPool");
-        String jobId = request.getParameter("jobid");
-        for (JobInProgress job: runningJobs) {
-          if (job.getProfile().getJobID().toString().equals(jobId)) {
+        poolMgr = scheduler.getPoolManager();
+      }
+      String pool = request.getParameter("setPool");
+      String jobId = request.getParameter("jobid");
+      for (JobInProgress job: runningJobs) {
+        if (job.getProfile().getJobID().toString().equals(jobId)) {
+          synchronized(scheduler){
             poolMgr.setPool(job, pool);
-            scheduler.update();
-            break;
           }
+          scheduler.update();
+          break;
         }
-      }
+      }      
       response.sendRedirect("/scheduler" + (advancedView ? "?advanced" : ""));
       return;
     }
     if (request.getParameter("setPriority") != null) {
-      Collection<JobInProgress> runningJobs = jobTracker.getRunningJobs();
-      synchronized (scheduler) {
-        JobPriority priority = JobPriority.valueOf(request.getParameter(
-            "setPriority"));
-        String jobId = request.getParameter("jobid");
-        for (JobInProgress job: runningJobs) {
-          if (job.getProfile().getJobID().toString().equals(jobId)) {
-            job.setPriority(priority);
-            scheduler.update();
-            break;
-          }
+      Collection<JobInProgress> runningJobs = jobTracker.getRunningJobs();      
+      JobPriority priority = JobPriority.valueOf(request.getParameter(
+          "setPriority"));
+      String jobId = request.getParameter("jobid");
+      for (JobInProgress job: runningJobs) {
+        if (job.getProfile().getJobID().toString().equals(jobId)) {
+          job.setPriority(priority);
+          scheduler.update();
+          break;
         }
-      }
+      }      
       response.sendRedirect("/scheduler" + (advancedView ? "?advanced" : ""));
       return;
     }