hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "jiraposter@reviews.apache.org (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-3229) Table creation, though using "async" call to master, can actually run for a while and cause RPC timeout
Date Fri, 26 Aug 2011 18:57:30 GMT

    [ https://issues.apache.org/jira/browse/HBASE-3229?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13091952#comment-13091952
] 

jiraposter@reviews.apache.org commented on HBASE-3229:
------------------------------------------------------



bq.  On 2011-08-26 17:58:10, Michael Stack wrote:
bq.  > http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/HMaster.java,
line 934
bq.  > <https://reviews.apache.org/r/1653/diff/3/?file=35507#file35507line934>
bq.  >
bq.  >     I think we need a bit more checking in here before we queue the Excecutor. 
We should check if table already exists.  Its no good throwing this exception down in the
Executor.  The client won't see it.  Can we check table existence up here before we queue
the Executor while we have the client on the line?
bq.  >     
bq.  >     I had a quick look at table existence seems to be the only thing to check.
bq.  
bq.  Ming Ma wrote:
bq.      Stack, CreateTableHandler constructor will throw TableExistsException if the table
exists. So CreateTableHandler object won't be created at the first place to be queued. So
it should take care of your question, or you meant something else?

I didn't get that part.  I see now that the test is done in the handler constructor.  Nice
one Ming.


- Michael


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/1653/#review1661
-----------------------------------------------------------


On 2011-08-25 06:33:04, Ming Ma wrote:
bq.  
bq.  -----------------------------------------------------------
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/1653/
bq.  -----------------------------------------------------------
bq.  
bq.  (Updated 2011-08-25 06:33:04)
bq.  
bq.  
bq.  Review request for hbase.
bq.  
bq.  
bq.  Summary
bq.  -------
bq.  
bq.  1. Make createTable truly async.
bq.  2. Fix up some incorrect comments, logs.
bq.  
bq.  
bq.  This addresses bug HBASE-3229.
bq.      https://issues.apache.org/jira/browse/HBASE-3229
bq.  
bq.  
bq.  Diffs
bq.  -----
bq.  
bq.    http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
1161360 
bq.    http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/executor/EventHandler.java
1161360 
bq.    http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/executor/ExecutorService.java
1161360 
bq.    http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/ipc/HMasterInterface.java
1161360 
bq.    http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
1161360 
bq.    http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/handler/CreateTableHandler.java
PRE-CREATION 
bq.    http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/handler/EnableTableHandler.java
1161360 
bq.    http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKTable.java
1161360 
bq.    http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/client/TestAdmin.java
1161360 
bq.  
bq.  Diff: https://reviews.apache.org/r/1653/diff
bq.  
bq.  
bq.  Testing
bq.  -------
bq.  
bq.  1. add a new test case to verify RPC timeout exception is gone when creating table with
lots of regions.
bq.  2. hbase shell, unit tests.
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Ming
bq.  
bq.



> 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
>            Assignee: Ming Ma
>            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

        

Mime
View raw message