Author: umamahesh
Date: Wed Jul 23 18:12:55 2014
New Revision: 1612904
URL: http://svn.apache.org/r1612904
Log:
HADOOP-10830. Missing lock in JavaKeyStoreProvider.createCredentialEntry.
Contributed by Benoy Antony.
Modified:
hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/alias/JavaKeyStoreProvider.java
Modified: hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
URL:
http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt?rev=1612904&r1=1612903&r2=1612904&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
(original)
+++ hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt Wed Jul
23 18:12:55 2014
@@ -769,6 +769,9 @@ Release 2.5.0 - UNRELEASED
HADOOP-10801 dead link in site.xml (Akira AJISAKA via stevel)
+ HADOOP-10830. Missing lock in JavaKeyStoreProvider.createCredentialEntry.
+ (Benoy Antony via umamahesh)
+
BREAKDOWN OF HADOOP-10514 SUBTASKS AND RELATED JIRAS
HADOOP-10520. Extended attributes definition and FileSystem APIs for
Modified:
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/alias/JavaKeyStoreProvider.java
URL:
http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/alias/JavaKeyStoreProvider.java?rev=1612904&r1=1612903&r2=1612904&view=diff
==============================================================================
---
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/alias/JavaKeyStoreProvider.java
(original)
+++
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/alias/JavaKeyStoreProvider.java
Wed Jul 23 18:12:55 2014
@@ -194,15 +194,18 @@ public class JavaKeyStoreProvider extend
@Override
public CredentialEntry createCredentialEntry(String alias, char[] credential)
throws IOException {
+ writeLock.lock();
try {
if (keyStore.containsAlias(alias) || cache.containsKey(alias)) {
throw new IOException("Credential " + alias + " already exists in " +
this);
}
+ return innerSetCredential(alias, credential);
} catch (KeyStoreException e) {
throw new IOException("Problem looking up credential " + alias + " in "
+ this,
e);
+ } finally {
+ writeLock.unlock();
}
- return innerSetCredential(alias, credential);
}
@Override