Author: tucu
Date: Fri May 30 23:19:11 2014
New Revision: 1598775
URL: http://svn.apache.org/r1598775
Log:
HADOOP-10611. KMS, keyVersion name should not be assumed to be
keyName@versionNumber. (tucu)
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/crypto/key/kms/KMSClientProvider.java
hadoop/common/trunk/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSCacheKeyProvider.java
hadoop/common/trunk/hadoop-common-project/hadoop-kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/TestKMS.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=1598775&r1=1598774&r2=1598775&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
(original)
+++ hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt Fri May
30 23:19:11 2014
@@ -336,6 +336,9 @@ Trunk (Unreleased)
HADOOP-10645. TestKMS fails because race condition writing acl files.
(tucu)
+ HADOOP-10611. KMS, keyVersion name should not be assumed to be
+ keyName@versionNumber. (tucu)
+
OPTIMIZATIONS
HADOOP-7761. Improve the performance of raw comparisons. (todd)
Modified:
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/crypto/key/kms/KMSClientProvider.java
URL:
http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/crypto/key/kms/KMSClientProvider.java?rev=1598775&r1=1598774&r2=1598775&view=diff
==============================================================================
---
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/crypto/key/kms/KMSClientProvider.java
(original)
+++
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/crypto/key/kms/KMSClientProvider.java
Fri May 30 23:19:11 2014
@@ -517,8 +517,4 @@ public class KMSClientProvider extends K
// the server should not keep in memory state on behalf of clients either.
}
- @VisibleForTesting
- public static String buildVersionName(String name, int version) {
- return KeyProvider.buildVersionName(name, version);
- }
}
Modified:
hadoop/common/trunk/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSCacheKeyProvider.java
URL:
http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSCacheKeyProvider.java?rev=1598775&r1=1598774&r2=1598775&view=diff
==============================================================================
---
hadoop/common/trunk/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSCacheKeyProvider.java
(original)
+++
hadoop/common/trunk/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSCacheKeyProvider.java
Fri May 30 23:19:11 2014
@@ -135,14 +135,11 @@ public class KMSCacheKeyProvider extends
@Override
public void deleteKey(String name) throws IOException {
- Metadata metadata = provider.getMetadata(name);
- List<String> versions = new ArrayList<String>(metadata.getVersions());
- for (int i = 0; i < metadata.getVersions(); i++) {
- versions.add(KeyProvider.buildVersionName(name, i));
- }
provider.deleteKey(name);
currentKeyCache.invalidate(name);
- keyVersionCache.invalidateAll(versions);
+ // invalidating all key versions as we don't know which ones belonged to
the
+ // deleted key
+ keyVersionCache.invalidateAll();
}
@Override
Modified:
hadoop/common/trunk/hadoop-common-project/hadoop-kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/TestKMS.java
URL:
http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-common-project/hadoop-kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/TestKMS.java?rev=1598775&r1=1598774&r2=1598775&view=diff
==============================================================================
---
hadoop/common/trunk/hadoop-common-project/hadoop-kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/TestKMS.java
(original)
+++
hadoop/common/trunk/hadoop-common-project/hadoop-kms/src/test/java/org/apache/hadoop/crypto/key/kms/server/TestKMS.java
Fri May 30 23:19:11 2014
@@ -577,7 +577,9 @@ public class TestKMS {
Assert.fail(ex.toString());
}
try {
- kp.getKeyVersion(KMSClientProvider.buildVersionName("k", 0));
+ // we are using JavaKeyStoreProvider for testing, so we know how
+ // the keyversion is created.
+ kp.getKeyVersion("k@0");
Assert.fail();
} catch (AuthorizationException ex) {
//NOP