On larger systems, especially those of which may split frequently, I've seen churn in the TabletLocator caches. Could we possibly pre-fetch entries for a table so that we don't constantly access the metadata table for tablet locations.
Additionally, instead of clearing the cache in the case of a miss or failure, could we simply update those entries in the cache? If we do this we may minimize cache misses overall and the need to scan the meta data table. If need be, we could have a threshold before clearing the cache entirely if people see the need for that.
It would also be helpful to add an LRU cache ( or maybe even priority based LRU cache ). In
ACCUMULO-3549, we added a cache clear to TabletServer to avoid overwhelming memory. An LRU cache might address this concern and make the clear cache call unnecessary.