hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ted Yu (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-4865) HBaseAdmin addColumn, modifyColumn, deleteColumn are documented as asynchronous but are actually synchronous.
Date Thu, 24 Nov 2011 15:50:39 GMT

    [ 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

        

Mime
View raw message