HdfsDirectoryFactory.exists() method already applies caching on FileSystem objects. This is not done yet in the size() method.
This function is eventually used when querying the core status. Each and every query will use the same configuration and start from the first configured HDFS NameNode. If that is down Solr will always access this down node first without "learning".
It would be nice to apply the same caching on that function too.