org.apache.hadoop.net
Interface DNSToSwitchMapping

All Known Implementing Classes:
AbstractDNSToSwitchMapping, CachedDNSToSwitchMapping, ScriptBasedMapping, TableMapping

@InterfaceAudience.Public
@InterfaceStability.Evolving
public interface DNSToSwitchMapping

An interface that must be implemented to allow pluggable DNS-name/IP-address to RackID resolvers.


Method Summary
 void reloadCachedMappings()
          Reload all of the cached mappings.
 void reloadCachedMappings(List<String> names)
          Reload cached mappings on specific nodes.
 List<String> resolve(List<String> names)
          Resolves a list of DNS-names/IP-addresses and returns back a list of switch information (network paths).
 

Method Detail

resolve

List<String> resolve(List<String> names)
Resolves a list of DNS-names/IP-addresses and returns back a list of switch information (network paths). One-to-one correspondence must be maintained between the elements in the lists. Consider an element in the argument list - x.y.com. The switch information that is returned must be a network path of the form /foo/rack, where / is the root, and 'foo' is the switch where 'rack' is connected. Note the hostname/ip-address is not part of the returned path. The network topology of the cluster would determine the number of components in the network path.

If a name cannot be resolved to a rack, the implementation should return NetworkTopology.DEFAULT_RACK. This is what the bundled implementations do, though it is not a formal requirement

Parameters:
names - the list of hosts to resolve (can be empty)
Returns:
list of resolved network paths. If names is empty, the returned list is also empty

reloadCachedMappings

void reloadCachedMappings()
Reload all of the cached mappings. If there is a cache, this method will clear it, so that future accesses will get a chance to see the new data.


reloadCachedMappings

void reloadCachedMappings(List<String> names)
Reload cached mappings on specific nodes. If there is a cache on these nodes, this method will clear it, so that future accesses will see updated data.



Copyright © 2014 Apache Software Foundation. All Rights Reserved.