[
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