You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "chunhui shen (JIRA)" <ji...@apache.org> on 2012/06/13 06:50:43 UTC

[jira] [Resolved] (HBASE-6204) Improvement for opening region on the regionserver

     [ https://issues.apache.org/jira/browse/HBASE-6204?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

chunhui shen resolved HBASE-6204.
---------------------------------

    Resolution: Duplicate
    
> Improvement for opening region on the regionserver
> --------------------------------------------------
>
>                 Key: HBASE-6204
>                 URL: https://issues.apache.org/jira/browse/HBASE-6204
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>            Reporter: chunhui shen
>            Assignee: chunhui shen
>
> If one table has many regions, like 100k regions.
> We would find regionserver open region very slowly.
> Opening region in parallel on the rs will be closed to serially.
> The following code is 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 many regions, FSUtils.listStatus() will take much time
> How to improve the above code?
> I think an easy way is that make a dir (called .tableinfos) in the table dir and move the files .tableinfo.* to that dir.

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