public boolean grantAcl(UserPermission userPermission, Set<String> skipNamespaces,
    Set<TableName> skipTables) {
    try {
      long start = EnvironmentEdgeManager.currentTime();
      handleGrantOrRevokeAcl(userPermission, HDFSAclOperation.OperationType.MODIFY, skipNamespaces,
        skipTables);
      LOG.info("Set HDFS acl when grant {}, skipNamespaces: {}, skipTables: {}, cost {} ms",
        userPermission, skipNamespaces, skipTables, EnvironmentEdgeManager.currentTime() - start);
      return true;
    } catch (Exception e) {
      LOG.error("Set HDFS acl error when grant: {}, skipNamespaces: {}, skipTables: {}",
        userPermission, skipNamespaces, skipTables, e);
      return false;
    }
  }
Set acl when grant user permission
@param userPermission the user and permission
@param skipNamespaces the namespace set to skip set acl because already set
@param skipTables     the table set to skip set acl because already set
@return false if an error occurred, otherwise true
hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/SnapshotScannerHDFSAclHelper.java