[ https://issues.apache.org/jira/browse/HBASE-23306?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16975968#comment-16975968 ]
Wellington Chevreuil commented on HBASE-23306: ---------------------------------------------- Apart from _ listTableNames_, all these mentioned methods were deprecated and already been removed from *Admin* for the next major release. The *Admin* interface is mainly a client facade for *HMaster* admin methods, and if we look at [_HMaster.listTableNames_ javadoc description|https://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/master/HMaster.html#listTableNames-java.lang.String-java.lang.String-boolean-], it's pretty clear about the parameter behaviour: {noformat} public List<TableName> listTableNames(String namespace, String regex, boolean includeSysTables) throws IOException Returns the list of table names that match the specified request Parameters: regex - The regular expression to match against, or null if querying for all namespace - the namespace to query, or null if querying for all includeSysTables - False to match only against userspace tables Returns: the list of table names Throws: IOException {noformat} > Add sanity check for Admin#deleteTables and other operations > ------------------------------------------------------------ > > Key: HBASE-23306 > URL: https://issues.apache.org/jira/browse/HBASE-23306 > Project: HBase > Issue Type: Bug > Components: Admin > Reporter: Rahul Kesharwani > Priority: Minor > > h3. Description: > After taking a brief observation, It seems to be the following operation > behaves in the opposite manner of what they should be doing in case `null > argument. > *For example:* `Admin#listTables(Pattern)` If its argument is `null` then all > the tables would be returned. Also this very method is being used by rest of > the listed operation like `deleteTables()`, `enableTables()`, > `disableTables()` etc. > h3. Affected operation: > * Admin.listTables(Pattern) > * Admin.listTableNames(Pattern) > * Admin.deleteTables(Pattern) > * Admin.enableTables(Pattern) > * Admin.disableTables(Pattern) > This could be a very rare scenario but I think it should either throw an > exception or behave opposite of what current behavior is. > *If this was not intentional* then I can quickly put together a patch with > precondition check for these operations. > > Note: I tried to look for answers but I was not able to find any relevant > issue/comments hence logging this issue. Feel free to close if this is > intentional behavior. -- This message was sent by Atlassian Jira (v8.3.4#803005)