YARN-6263. NMTokenSecretManagerInRM.createAndGetNMToken is not thread safe. Contributed by Haibo Chen

(cherry picked from commit e58fc7603053e3ac1bc2464f9622995017db5245)
This commit is contained in:
Jason Lowe 2017-03-03 08:23:08 -06:00
parent daf3b5ee67
commit 6c48440627

View File

@ -192,7 +192,7 @@ public void run() {
public NMToken createAndGetNMToken(String applicationSubmitter,
ApplicationAttemptId appAttemptId, Container container) {
try {
this.readLock.lock();
this.writeLock.lock();
HashSet<NodeId> nodeSet = this.appAttemptToNodeKeyMap.get(appAttemptId);
NMToken nmToken = null;
if (nodeSet != null) {
@ -208,7 +208,7 @@ public NMToken createAndGetNMToken(String applicationSubmitter,
}
return nmToken;
} finally {
this.readLock.unlock();
this.writeLock.unlock();
}
}