It seems org.apache.hadoop.hbase.snapshot.ExportSnapshot disallows FileSystem instance caching.
When verifySnapshot method is being run it calls often methods like org.apache.hadoop.hbase.util.FSUtils#getRootDir that instantiate FileSystem but never calls org.apache.hadoop.fs.FileSystem#close method. This behaviour allows allocation of unwanted objects potentially causing memory leaks.
Related issue: https://issues.apache.org/jira/browse/HADOOP-15392
- HBase should properly release/close all objects, especially FileSystem instances.