@Override public synchronized void deleteKey(String name) throws IOException { Metadata meta = getMetadata(name); if (meta == null) { throw new IOException("Key " + name + " does not exist in " + this); } for (int v = 0; v < meta.getVersions(); ++v) { credentials.removeSecretKey(new Text(buildVersionName(name, v))); } credentials.removeSecretKey(new Text(name)); cache.remove(name); }