@Override
  @Deprecated
  public List<TableMeta> filterTableMetas(String catName, String dbName, List<TableMeta> tableMetas)
      throws MetaException {
    LOG.debug("==> HiveMetaStoreAuthorizer.filterTableMetas()");
    if (!CollectionUtils.isEmpty(tableMetas)) {
      List<String> tableNames = new ArrayList<>();
      tableMetas.forEach(tableMeta -> {
        if (!tableMeta.getCatName().equalsIgnoreCase(catName) ||
            !tableMeta.getDbName().equalsIgnoreCase(dbName)) {
          throw new IllegalArgumentException(String.format("Table: %s doesn't belong to the catalog: %s, database: %s",
              tableMeta.getCatName() + "." + tableMeta.getDbName() + "." + tableMeta.getTableName(), catName, dbName));
        }
        tableNames.add(tableMeta.getTableName());
      });
      TableFilterContext tableFilterContext = TableFilterContext.createFromTableMetas(dbName, tableMetas);
      HiveMetaStoreAuthzInfo hiveMetaStoreAuthzInfo = tableFilterContext.getAuthzContext();
      final List<String> filteredTableNames = filterTableNames(hiveMetaStoreAuthzInfo, dbName, tableNames);
      if (!CollectionUtils.isEmpty(filteredTableNames)) {
        Set<String> filteredTabs = new HashSet<>(filteredTableNames);
        LOG.debug("<== HiveMetaStoreAuthorizer.filterTableMetas() : {}", filteredTabs);
        return tableMetas.stream().filter(tblMeta -> filteredTabs.contains(tblMeta.getTableName()))
            .collect(Collectors.toList());
      }
    }
    LOG.info("<== HiveMetaStoreAuthorizer.filterTableMetas() : returning empty set");
    return Collections.emptyList();
  }
HiveMetaStoreAuthorizer :  Do authorization checks on MetaStore Events in MetaStorePreEventListener
ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/metastore/HiveMetaStoreAuthorizer.java