@Override public ColumnStatistics getTableColumnStatistics(String catName, String dbName, String tblName,
      List<String> colNames, String engine, String validWriteIds) throws MetaException, NoSuchObjectException {
    if (!CacheUtils.HIVE_ENGINE.equals(engine)) {
      throw new RuntimeException("CachedStore can only be enabled for Hive engine");
    }
    catName = StringUtils.normalizeIdentifier(catName);
    dbName = StringUtils.normalizeIdentifier(dbName);
    tblName = StringUtils.normalizeIdentifier(tblName);
    if (!shouldCacheTable(catName, dbName, tblName)) {
      return rawStore.getTableColumnStatistics(catName, dbName, tblName, colNames, engine, validWriteIds);
    }
    Table table = sharedCache.getTableFromCache(catName, dbName, tblName);
    if (table == null) {
      // The table is not yet loaded in cache
      return rawStore.getTableColumnStatistics(catName, dbName, tblName, colNames, engine, validWriteIds);
    }
    ColumnStatistics columnStatistics =
        sharedCache.getTableColStatsFromCache(catName, dbName, tblName, colNames, validWriteIds, areTxnStatsSupported);
    if (columnStatistics == null) {
      LOG.info("Stat of Table {}.{} for column {} is not present in cache." + "Getting from raw store", dbName, tblName,
          colNames);
      return rawStore.getTableColumnStatistics(catName, dbName, tblName, colNames, engine, validWriteIds);
    }
    return columnStatistics;
  }
getPartitionSpecsByFilterAndProjection interface is currently non-cacheable.
standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/cache/CachedStore.java