@Override
    protected void finalize() throws Throwable {
      if (users.get() != 0) {
        LOG.warn("Closing client with non-zero user count: users=" + users.get() + " expired=" + expiredFromCache);
      }

      try {
        this.tearDown();
      } finally {
        super.finalize();
      }
    }
GC is attempting to destroy the object.
No one references this client anymore, so it can be torn down without worrying about user counts.
@throws Throwable
hcatalog/core/src/main/java/org/apache/hive/hcatalog/common/HiveClientCache.java