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:
parent
2b0016ec18
commit
137ecfc74f
|
@ -222,6 +222,9 @@ Release 2.6.0 - UNRELEASED
|
||||||
|
|
||||||
HADOOP-10645. TestKMS fails because race condition writing acl files. (tucu)
|
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
|
Release 2.5.0 - 2014-08-11
|
||||||
|
|
||||||
INCOMPATIBLE CHANGES
|
INCOMPATIBLE CHANGES
|
||||||
|
|
|
@ -517,8 +517,4 @@ public class KMSClientProvider extends KeyProvider {
|
||||||
// the server should not keep in memory state on behalf of clients either.
|
// 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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -135,14 +135,11 @@ public class KMSCacheKeyProvider extends KeyProvider {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void deleteKey(String name) throws IOException {
|
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);
|
provider.deleteKey(name);
|
||||||
currentKeyCache.invalidate(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
|
@Override
|
||||||
|
|
|
@ -577,7 +577,9 @@ public class TestKMS {
|
||||||
Assert.fail(ex.toString());
|
Assert.fail(ex.toString());
|
||||||
}
|
}
|
||||||
try {
|
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();
|
Assert.fail();
|
||||||
} catch (AuthorizationException ex) {
|
} catch (AuthorizationException ex) {
|
||||||
//NOP
|
//NOP
|
||||||
|
|
Loading…
Reference in New Issue