Repository: hadoop Updated Branches: refs/heads/branch-2 4bfbc6b1d -> 63f3c24bb refs/heads/trunk 9cd5ad9d8 -> fbf55dcaf
HADOOP-12076. Incomplete Cache Mechanism in CredentialProvider API. Contributed by Larry McCay. Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/fbf55dca Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/fbf55dca Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/fbf55dca Branch: refs/heads/trunk Commit: fbf55dcaf45285e1795cb107e7846799e4042b0b Parents: 9cd5ad9 Author: cnauroth <[email protected]> Authored: Tue Jun 16 14:44:03 2015 -0700 Committer: cnauroth <[email protected]> Committed: Tue Jun 16 14:44:03 2015 -0700 ---------------------------------------------------------------------- hadoop-common-project/hadoop-common/CHANGES.txt | 3 +++ .../security/alias/AbstractJavaKeyStoreProvider.java | 15 +-------------- 2 files changed, 4 insertions(+), 14 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/fbf55dca/hadoop-common-project/hadoop-common/CHANGES.txt ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt b/hadoop-common-project/hadoop-common/CHANGES.txt index 9a16a7d..67e9c76 100644 --- a/hadoop-common-project/hadoop-common/CHANGES.txt +++ b/hadoop-common-project/hadoop-common/CHANGES.txt @@ -861,6 +861,9 @@ Release 2.8.0 - UNRELEASED HADOOP-12095. org.apache.hadoop.fs.shell.TestCount fails. (Brahma Reddy Battula via aajisaka) + HADOOP-12076. Incomplete Cache Mechanism in CredentialProvider API. + (Larry McCay via cnauroth) + Release 2.7.1 - UNRELEASED INCOMPATIBLE CHANGES http://git-wip-us.apache.org/repos/asf/hadoop/blob/fbf55dca/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/alias/AbstractJavaKeyStoreProvider.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/alias/AbstractJavaKeyStoreProvider.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/alias/AbstractJavaKeyStoreProvider.java index 76b8cd5..9656261 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/alias/AbstractJavaKeyStoreProvider.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/alias/AbstractJavaKeyStoreProvider.java @@ -41,9 +41,7 @@ import java.security.UnrecoverableKeyException; import java.security.cert.CertificateException; import java.util.ArrayList; import java.util.Enumeration; -import java.util.HashMap; import java.util.List; -import java.util.Map; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReadWriteLock; import java.util.concurrent.locks.ReentrantReadWriteLock; @@ -174,13 +172,6 @@ public abstract class AbstractJavaKeyStoreProvider extends CredentialProvider { return keyStore; } - public Map<String, CredentialEntry> getCache() { - return cache; - } - - private final Map<String, CredentialEntry> cache = - new HashMap<String, CredentialEntry>(); - protected final String getPathAsString() { return getPath().toString(); } @@ -213,9 +204,6 @@ public abstract class AbstractJavaKeyStoreProvider extends CredentialProvider { try { SecretKeySpec key = null; try { - if (cache.containsKey(alias)) { - return cache.get(alias); - } if (!keyStore.containsAlias(alias)) { return null; } @@ -269,7 +257,7 @@ public abstract class AbstractJavaKeyStoreProvider extends CredentialProvider { throws IOException { writeLock.lock(); try { - if (keyStore.containsAlias(alias) || cache.containsKey(alias)) { + if (keyStore.containsAlias(alias)) { throw new IOException("Credential " + alias + " already exists in " + this); } @@ -296,7 +284,6 @@ public abstract class AbstractJavaKeyStoreProvider extends CredentialProvider { } catch (KeyStoreException e) { throw new IOException("Problem removing " + name + " from " + this, e); } - cache.remove(name); changed = true; } finally { writeLock.unlock();
