[prev in list] [next in list] [prev in thread] [next in thread]
List: hadoop-commits
Subject: git commit: YARN-2594. Potential deadlock in RM when querying ApplicationResourceUsageReport. (Wangd
From: kasha () apache ! org
Date: 2014-09-30 23:17:24
Message-ID: e9da7c94fa6c4e61ac6ce01ed8c6587c () git ! apache ! org
[Download RAW message or body]
Repository: hadoop
Updated Branches:
refs/heads/trunk feaf139b4 -> 14d60dadc
YARN-2594. Potential deadlock in RM when querying ApplicationResourceUsageReport. \
(Wangda Tan via kasha)
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/14d60dad
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/14d60dad
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/14d60dad
Branch: refs/heads/trunk
Commit: 14d60dadc25b044a2887bf912ba5872367f2dffb
Parents: feaf139
Author: Karthik Kambatla <kasha@apache.org>
Authored: Tue Sep 30 16:12:27 2014 -0700
Committer: Karthik Kambatla <kasha@apache.org>
Committed: Tue Sep 30 16:12:27 2014 -0700
----------------------------------------------------------------------
hadoop-yarn-project/CHANGES.txt | 3 ++
.../server/resourcemanager/rmapp/RMAppImpl.java | 50 ++++++--------------
2 files changed, 18 insertions(+), 35 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hadoop/blob/14d60dad/hadoop-yarn-project/CHANGES.txt
----------------------------------------------------------------------
diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt
index be61dfe..95fba23 100644
--- a/hadoop-yarn-project/CHANGES.txt
+++ b/hadoop-yarn-project/CHANGES.txt
@@ -488,6 +488,9 @@ Release 2.6.0 - UNRELEASED
YARN-2387. Resource Manager crashes with NPE due to lack of
synchronization (Mit Desai via jlowe)
+ YARN-2594. Potential deadlock in RM when querying
+ ApplicationResourceUsageReport. (Wangda Tan via kasha)
+
Release 2.5.1 - 2014-09-05
INCOMPATIBLE CHANGES
http://git-wip-us.apache.org/repos/asf/hadoop/blob/14d60dad/hadoop-yarn-project/hadoop \
-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/RMAppImpl.java
----------------------------------------------------------------------
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-res \
ourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/RMAppImpl.java \
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanage \
r/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/RMAppImpl.java \
index eaef7d2..4899434 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcema \
nager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/RMAppImpl.java
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcema \
nager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/RMAppImpl.java
@@ -128,7 +128,8 @@ public class RMAppImpl implements RMApp, Recoverable {
private long startTime;
private long finishTime = 0;
private long storedFinishTime = 0;
- private RMAppAttempt currentAttempt;
+ // This field isn't protected by readlock now.
+ private volatile RMAppAttempt currentAttempt;
private String queue;
private EventHandler handler;
private static final AppFinishedTransition FINISHED_TRANSITION =
@@ -438,16 +439,11 @@ public class RMAppImpl implements RMApp, Recoverable {
@Override
public float getProgress() {
- this.readLock.lock();
-
- try {
- if (this.currentAttempt != null) {
- return this.currentAttempt.getProgress();
- }
- return 0;
- } finally {
- this.readLock.unlock();
+ RMAppAttempt attempt = this.currentAttempt;
+ if (attempt != null) {
+ return attempt.getProgress();
}
+ return 0;
}
@Override
@@ -478,13 +474,7 @@ public class RMAppImpl implements RMApp, Recoverable {
@Override
public RMAppAttempt getCurrentAppAttempt() {
- this.readLock.lock();
-
- try {
- return this.currentAttempt;
- } finally {
- this.readLock.unlock();
- }
+ return this.currentAttempt;
}
@Override
@@ -655,30 +645,20 @@ public class RMAppImpl implements RMApp, Recoverable {
@Override
public String getTrackingUrl() {
- this.readLock.lock();
-
- try {
- if (this.currentAttempt != null) {
- return this.currentAttempt.getTrackingUrl();
- }
- return null;
- } finally {
- this.readLock.unlock();
+ RMAppAttempt attempt = this.currentAttempt;
+ if (attempt != null) {
+ return attempt.getTrackingUrl();
}
+ return null;
}
@Override
public String getOriginalTrackingUrl() {
- this.readLock.lock();
-
- try {
- if (this.currentAttempt != null) {
- return this.currentAttempt.getOriginalTrackingUrl();
- }
- return null;
- } finally {
- this.readLock.unlock();
+ RMAppAttempt attempt = this.currentAttempt;
+ if (attempt != null) {
+ return attempt.getOriginalTrackingUrl();
}
+ return null;
}
@Override
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic