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

chunhui shen commented on HBASE-5970:
-------------------------------------

@ram
How much time did you took to enable 20000 regions, if regions is not very 
much, master handle fast enough, could you test with 100,000 regions?
In our testing, RS open region fast, but master handle opened event slowly, and 
find 100,000 regions much much slower than 50,000 regions

Another reason, recently we found RS open regions very slowly after 0.92 if one 
table has much regions

You could see the following code to get the detail
{code}
public RegionOpeningState openRegion(HRegionInfo region, int 
versionOfOfflineNode){
...
HTableDescriptor htd = this.tableDescriptors.get(region.getTableName());
...

public HTableDescriptor get(final String tablename){
...
long modtime = getTableInfoModtime(this.fs, this.rootdir, tablename);
...
}
}
{code}

getTableInfoModtime->getTableInfoPath->getTableInfoPath->FSUtils.listStatus()

if one table has much regions, FSUtils.listStatus() will take much time, and 
opening region in parallel on the rs will be closed to serially.

So maybe we should do the improvement for above code.
                
> Improve the AssignmentManager#updateTimer and speed up handling opened event
> ----------------------------------------------------------------------------
>
>                 Key: HBASE-5970
>                 URL: https://issues.apache.org/jira/browse/HBASE-5970
>             Project: HBase
>          Issue Type: Improvement
>          Components: master
>            Reporter: chunhui shen
>            Assignee: chunhui shen
>            Priority: Critical
>             Fix For: 0.96.0
>
>         Attachments: 5970v3.patch, HBASE-5970.patch, HBASE-5970v2.patch, 
> HBASE-5970v3.patch, HBASE-5970v4.patch, HBASE-5970v4.patch
>
>
> We found handing opened event very slow in the environment with lots of 
> regions.
> The problem is the slow AssignmentManager#updateTimer.
> We do the test for bulk assigning 10w (i.e. 100k) regions, the whole process 
> of bulk assigning took 1 hours.
> 2012-05-06 20:31:49,201 INFO 
> org.apache.hadoop.hbase.master.AssignmentManager: Bulk assigning 100000 
> region(s) round-robin across 5 server(s)
> 2012-05-06 21:26:32,103 INFO 
> org.apache.hadoop.hbase.master.AssignmentManager: Bulk assigning done
> I think we could do the improvement for the AssignmentManager#updateTimer: 
> Make a thread do this work.
> After the improvement, it took only 4.5mins
> 2012-05-07 11:03:36,581 INFO 
> org.apache.hadoop.hbase.master.AssignmentManager: Bulk assigning 100000 
> region(s) across 5 server(s), retainAssignment=true 
> 2012-05-07 11:07:57,073 INFO 
> org.apache.hadoop.hbase.master.AssignmentManager: Bulk assigning done 

--
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

        

Reply via email to