From f47a5763acd55cb0b3f16152c7f8df06ec0e09a9 Mon Sep 17 00:00:00 2001 From: Wangda Tan Date: Fri, 17 Apr 2015 17:22:27 -0700 Subject: [PATCH] YARN-3487. CapacityScheduler scheduler lock obtained unnecessarily when calling getQueue (Jason Lowe via wangda) --- hadoop-yarn-project/CHANGES.txt | 2 ++ .../scheduler/capacity/CapacityScheduler.java | 8 ++------ 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt index 710ee151610..dfedc8a88f1 100644 --- a/hadoop-yarn-project/CHANGES.txt +++ b/hadoop-yarn-project/CHANGES.txt @@ -238,6 +238,8 @@ Release 2.7.1 - UNRELEASED OPTIMIZATIONS BUG FIXES + YARN-3487. CapacityScheduler scheduler lock obtained unnecessarily when + calling getQueue (Jason Lowe via wangda) Release 2.7.0 - UNRELEASED diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacityScheduler.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacityScheduler.java index 5d58b153953..1e1623d7393 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacityScheduler.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacityScheduler.java @@ -642,7 +642,7 @@ static CSQueue parseQueue( return queue; } - public synchronized CSQueue getQueue(String queueName) { + public CSQueue getQueue(String queueName) { if (queueName == null) { return null; } @@ -940,11 +940,7 @@ public QueueInfo getQueueInfo(String queueName, boolean includeChildQueues, boolean recursive) throws IOException { CSQueue queue = null; - - synchronized (this) { - queue = this.queues.get(queueName); - } - + queue = this.queues.get(queueName); if (queue == null) { throw new IOException("Unknown queue: " + queueName); }