[ https://issues.apache.org/jira/browse/HBASE-3229?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13054499#comment-13054499 ]
Ted Yu commented on HBASE-3229: ------------------------------- w.r.t. Kannan's comments. In TRUNK, the following method of HMaster is async - see the third parameter: {code} public void createTable(HTableDescriptor desc, byte [][] splitKeys) throws IOException { createTable(desc, splitKeys, false); } {code} It is the only method exposed through HMasterInterface. patch v5 from HBASE-3904 makes HBaseAdmin.createTable() to wait for all regions to be online. > Table creation, though using "async" call to master, can actually run for a > while and cause RPC timeout > ------------------------------------------------------------------------------------------------------- > > Key: HBASE-3229 > URL: https://issues.apache.org/jira/browse/HBASE-3229 > Project: HBase > Issue Type: Bug > Components: client, master > Affects Versions: 0.90.0 > Reporter: Jonathan Gray > Priority: Critical > Fix For: 0.92.0 > > > Our create table methods in HBaseAdmin are synchronous from client POV. > However, underneath, we're using an "async" create and then looping waiting > for table availability. Because the create is async and we loop instead of > block on RPC, we don't expect RPC timeouts. > However, when creating a table with lots of initial regions, the "async" > create can actually take a long time (more than 30 seconds in this case) > which causes the client to timeout and gives impression something failed. > We should make the create truly async so that this can't happen. And rather > than doing one-off, inline assignment as it is today, we should reuse the > fancy enable/disable code stack just added to make this faster and more > optimal. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira