HADOOP-10611. KMS, keyVersion name should not be assumed to be keyName@versionNumber. (tucu)

Conflicts:
	hadoop-common-project/hadoop-common/CHANGES.txt

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-2@1619522 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Alejandro Abdelnur 2014-08-21 18:59:02 +00:00
parent 2b0016ec18
commit 137ecfc74f
4 changed files with 9 additions and 11 deletions

View File

@ -222,6 +222,9 @@ Release 2.6.0 - 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)
Release 2.5.0 - 2014-08-11
INCOMPATIBLE CHANGES

View File

@ -517,8 +517,4 @@ public class KMSClientProvider extends KeyProvider {
// 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);
}
}

View File

@ -135,14 +135,11 @@ public class KMSCacheKeyProvider extends KeyProvider {
@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

View File

@ -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