private static void removePermissionRecord(Configuration conf, UserPermission userPerm, Table t)
    throws IOException {
    Delete d = new Delete(userPermissionRowKey(userPerm.getPermission()));
    d.addColumns(ACL_LIST_FAMILY, userPermissionKey(userPerm));
    try {
      t.delete(d);
    } finally {
      t.close();
    }
  }
Removes a previously granted permission from the stored access control lists. The
{@link TablePermission} being removed must exactly match what is stored -- no wildcard matching
is attempted. Ie, if user "bob" has been granted "READ" access to the "data" table, but only to
column family plus qualifier "info:colA", then trying to call this method with only user "bob"
and the table name "data" (but without specifying the column qualifier "info:colA") will have
no effect.
@param conf     the configuration
@param userPerm the details of the permission to be revoked
@param t        acl table
@throws IOException if there is an error accessing the metadata table
hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/PermissionStorage.java