We currently use InetAddress and InetSocketAddress in many places to identify locators, servers and peers. Some work has been done in the past couple of years to reduce the use of these in order to accommodate changes in IP addresses due to various causes. The class LocatorAddress was created to help with this and it is able to hold a host name without resolving it until that resolution is needed to form a tcp/ip connection.
These days we are seeing more and more movement into cloud computing and the need to accommodate IP address changes is becoming a bigger issue. To that end we would like to change our primary client/server and WAN communication interfaces to stop taking InetAddresses and InetSocketAddresses as arguments and, instead, take something like a LocatorAddress that can hold an unresolved hostname that our communication implementations will resolve when needed.
To that end we should also remove the hostname->inetaddress cache in SocketCreator and rely on the operating system's DNS cache.