HADOOP-10534. KeyProvider getKeysMetadata should take a list of names
rather than returning all keys. (omalley) git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1589773 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
24d1cf9ac6
commit
f9a9c1ee63
|
@ -23,8 +23,8 @@ Trunk (Unreleased)
|
||||||
if the override value is same as the final parameter value.
|
if the override value is same as the final parameter value.
|
||||||
(Ravi Prakash via suresh)
|
(Ravi Prakash via suresh)
|
||||||
|
|
||||||
HADOOP-8078. Add capability to turn on security in unit tests. (Jaimin Jetly
|
HADOOP-8078. Add capability to turn on security in unit tests. (Jaimin
|
||||||
via jitendra)
|
Jetly via jitendra)
|
||||||
|
|
||||||
HADOOP-7757. Test file reference count is at least 3x actual value (Jon
|
HADOOP-7757. Test file reference count is at least 3x actual value (Jon
|
||||||
Eagles via bobby)
|
Eagles via bobby)
|
||||||
|
@ -141,6 +141,9 @@ Trunk (Unreleased)
|
||||||
HADOOP-10430. KeyProvider Metadata should have an optional description,
|
HADOOP-10430. KeyProvider Metadata should have an optional description,
|
||||||
there should be a method to retrieve the metadata from all keys. (tucu)
|
there should be a method to retrieve the metadata from all keys. (tucu)
|
||||||
|
|
||||||
|
HADOOP-10534. KeyProvider getKeysMetadata should take a list of names
|
||||||
|
rather than returning all keys. (omalley)
|
||||||
|
|
||||||
BUG FIXES
|
BUG FIXES
|
||||||
|
|
||||||
HADOOP-9451. Fault single-layer config if node group topology is enabled.
|
HADOOP-9451. Fault single-layer config if node group topology is enabled.
|
||||||
|
|
|
@ -312,20 +312,16 @@ public abstract class KeyProvider {
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the key metadata for all keys.
|
* Get key metadata in bulk.
|
||||||
*
|
* @param names the names of the keys to get
|
||||||
* @return a Map with all the keys and their metadata
|
|
||||||
* @throws IOException
|
* @throws IOException
|
||||||
*/
|
*/
|
||||||
public Map<String, Metadata> getKeysMetadata() throws IOException {
|
public Metadata[] getKeysMetadata(String... names) throws IOException {
|
||||||
Map<String, Metadata> keysMetadata = new LinkedHashMap<String, Metadata>();
|
Metadata[] result = new Metadata[names.length];
|
||||||
for (String key : getKeys()) {
|
for (int i=0; i < names.length; ++i) {
|
||||||
Metadata meta = getMetadata(key);
|
result[i] = getMetadata(names[i]);
|
||||||
if (meta != null) {
|
|
||||||
keysMetadata.put(key, meta);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return keysMetadata;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -230,16 +230,16 @@ public class KeyShell extends Configured implements Tool {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void execute() throws IOException {
|
public void execute() throws IOException {
|
||||||
List<String> keys;
|
|
||||||
try {
|
try {
|
||||||
|
List<String> keys = provider.getKeys();
|
||||||
out.println("Listing keys for KeyProvider: " + provider.toString());
|
out.println("Listing keys for KeyProvider: " + provider.toString());
|
||||||
if (metadata) {
|
if (metadata) {
|
||||||
Map<String, Metadata> keysMeta = provider.getKeysMetadata();
|
Metadata[] meta =
|
||||||
for (Map.Entry<String, Metadata> entry : keysMeta.entrySet()) {
|
provider.getKeysMetadata(keys.toArray(new String[keys.size()]));
|
||||||
out.println(entry.getKey() + " : " + entry.getValue());
|
for(int i=0; i < meta.length; ++i) {
|
||||||
|
out.println(keys.get(i) + " : " + meta[i]);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
keys = provider.getKeys();
|
|
||||||
for (String keyName : keys) {
|
for (String keyName : keys) {
|
||||||
out.println(keyName);
|
out.println(keyName);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue