Browse Source

YARN-2964. FSLeafQueue#assignContainer - document the reason for using both write and read locks. (Tsuyoshi Ozawa via kasha)

Karthik Kambatla 10 years ago
parent
commit
f2d150ea12

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

@@ -231,6 +231,9 @@ Release 2.7.0 - UNRELEASED
     YARN-2914. [YARN-1492] Potential race condition in Singleton implementation of 
     SharedCacheUploaderMetrics, CleanerMetrics, ClientSCMMetrics. (Varun Saxena via kasha)
 
+    YARN-2964. FSLeafQueue#assignContainer - document the reason for using both write and
+    read locks. (Tsuyoshi Ozawa via kasha)
+
 Release 2.6.0 - 2014-11-18
 
   INCOMPATIBLE CHANGES

+ 3 - 0
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FSLeafQueue.java

@@ -252,6 +252,9 @@ public class FSLeafQueue extends FSQueue {
     } finally {
       writeLock.unlock();
     }
+    // Release write lock here for better performance and avoiding deadlocks.
+    // runnableApps can be in unsorted state because of this section,
+    // but we can accept it in practice since the probability is low.
     readLock.lock();
     try {
       for (FSAppAttempt sched : runnableApps) {