You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "stack (JIRA)" <ji...@apache.org> on 2012/10/03 01:47:08 UTC

[jira] [Updated] (HBASE-6459) improve speed of create table

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

stack updated HBASE-6459:
-------------------------

    Attachment: 6459v3.txt

Updated to match trunk.

I don't think we should put these defines into HConstants.  They are only used in CreateTableHandler.

Are these threads daemonized?  I don't see it looking over in Threads.  You think they should be?

In getRegionOpenAndInitializedThreadPool, why not just return result of Threads..getBoundedCachedThreadPool?  Why have getBoundedCachedThreadPool at all?  Just have it in  getRegionOpenAndInitializedThreadPool.

Patch looks good otherwise.
                
> improve speed of create table
> -----------------------------
>
>                 Key: HBASE-6459
>                 URL: https://issues.apache.org/jira/browse/HBASE-6459
>             Project: HBase
>          Issue Type: Improvement
>    Affects Versions: 0.94.0
>            Reporter: zhou wenjian
>             Fix For: 0.96.0
>
>         Attachments: 6459v3.txt, HBASE-6459-90.patch, HBASE-6459-92.patch, HBASE-6459-94.patch, HBASE-6459-trunk.patch, HBASE-6459-trunk-v2.patch
>
>
> in CreateTableHandler
> for (int regionIdx = 0; regionIdx < this.newRegions.length; regionIdx++) {
>       HRegionInfo newRegion = this.newRegions[regionIdx];
>       // 1. Create HRegion
>       HRegion region = HRegion.createHRegion(newRegion,
>         this.fileSystemManager.getRootDir(), this.conf,
>         this.hTableDescriptor, null, false, true);
>       regionInfos.add(region.getRegionInfo());
>       if (regionIdx % batchSize == 0) {
>         // 2. Insert into META
>         MetaEditor.addRegionsToMeta(this.catalogTracker, regionInfos);
>         regionInfos.clear();
>       }
>       // 3. Close the new region to flush to disk.  Close log file too.
>       region.close();
>     }
> All the region will be create serially.
> If we have thousands of regions, that will be a huge cost.
> We can improve it by create the region in parallel

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira