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

2012-06-12 Thread chunhui shen (JIRA)

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

chunhui shen updated HBASE-6204:


Description: 
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 much 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.

  was:
If one table has much 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 much 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.


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




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

2012-06-12 Thread chunhui shen (JIRA)

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

chunhui shen updated HBASE-6204:


Description: 
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.

  was:
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 much 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.


 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