HADOOP-7030 introduced TableMapping, an implementation of DNSToSwitchMapping which uses a file to map from IPs/hosts to their racks. It's intended to replace ScriptBasedMapping for cases where the latter was just a complicated way of looking up the rack in a file.
Though there was discussion of it on the JIRA, the TableMapping implementation is not 'refreshable'. i.e., if you want to add a host to your cluster, and that host wasn't in the topology file to begin with, it will never be added.
TableMapping should refresh, either based on a command that can be executed, or, perhaps, if the file on disk changes.
I'll also point out that TableMapping extends CachedDNSToSwitchMapping, but, since it does no refreshing, I don't see what the caching gets you: I think the cache ends up being a second copy of the underlying map, always.