private synchronized void init() {
    if (clientPoolCache == null) {
      clientPoolCache =
          Caffeine.newBuilder()
              .expireAfterAccess(evictionInterval, TimeUnit.MILLISECONDS)
              .removalListener((key, value, cause) -> ((AuthenticatedHiveClientPool) value).close())
              .build();
    }
  }
Cache {@link AuthenticatedHiveClientPool} with {@link TableMetaStore} key.
amoro-common/src/main/java/org/apache/amoro/hive/CachedHiveClientPool.java