[ https://issues.apache.org/jira/browse/HBASE-4865?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13156771#comment-13156771 ]
Ted Yu commented on HBASE-4865: ------------------------------- w.r.t. HBaseAdmin#createTable[Async] methods, see HBASE-3904 and HBASE-3229 We don't need to change their implementation now. > HBaseAdmin addColumn, modifyColumn, deleteColumn are documented as > asynchronous but are actually synchronous. > ------------------------------------------------------------------------------------------------------------- > > Key: HBASE-4865 > URL: https://issues.apache.org/jira/browse/HBASE-4865 > Project: HBase > Issue Type: Bug > Components: client, master > Affects Versions: 0.94.0 > Environment: all > Reporter: nkeywal > Priority: Minor > > The javadoc states is asynchronous, but we can see in the implementation on > HMaster that the implementation does not use executorService but calls > directly process(). This is not true for all methods: enableTable, > modifyTable, disableTable are truly asynchronous. > The other impact is that the listeners are not called, as this is done by the > executorService. > I don't known if we have to change the documentation or the implementation. > For consistency; I would change the implementation, but it may breaks > existing code. > Two other comments: > 1) There is no real naming pattern here, while it would be useful: > HBaseAdmin#createTable is synchrounous and calls the asynchronous > HMaster#createTable > HBaseAdmin#createTableAsync is asynchrounous and calls the asynchronous > HMaster#createTable > HBaseAdmin#modifyTable is asynchrounous and calls the asynchronous > HMaster#modifyTable > HBaseAdmin#modifyColumn is documented as asynchrounous and calls the > synchronous HMaster#modifyColumn > 2) the coprocessor "post" semantic is not consistent across the services. > - when the service is synchronous, post is called after the services > execution (ex: addColumn with the current implementation). > - when the service is asynchronous, post is called after the executorService > has registered the service to execute, but the service itself is not executed > yet. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira