Description
Master getTableDescriptors() which is called by Admin.listTables() has a couple of different behaviors depending on how it is called.
after HBASE-12073 with the AccessController enabled, we now get a "global admin" required if listTables() is called without a regex otherwise we return only the table that the user can see (we show only the tables that the user have access to, which means or the user is a global admin or it has a table-level create/admin). We probably should have the second behavior even without regex, since I should able to see "my own tables".
getTableDescriptors() is returning only non system tables. Tools like user_permission that are doing "for each listTable(): userPerm(table)" are losing the system tables, so stuff like user_permission 'hbase:acls' will not result any result.