public void refreshTableCacheFromWritable(TableName table, byte[] data) throws IOException {
    if (data != null && data.length > 0) {
      try {
        ListMultimap<String, Permission> perms = PermissionStorage.readPermissions(data, conf);
        if (perms != null) {
          if (Bytes.equals(table.getName(), PermissionStorage.ACL_GLOBAL_NAME)) {
            updateGlobalCache(perms);
          } else {
            updateTableCache(table, perms);
          }
        }
      } catch (DeserializationException e) {
        throw new IOException(e);
      }
    } else {
      LOG.info("Skipping permission cache refresh because writable data is empty");
    }
  }
Update acl info for table.
@param table name of table
@param data  updated acl data
@throws IOException exception when deserialize data
hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AuthManager.java