hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Subbu M Iyer (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HBASE-451) Remove HTableDescriptor from HRegionInfo
Date Thu, 02 Jun 2011 16:27:47 GMT

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

Subbu M Iyer updated HBASE-451:

    Assignee: Subbu M Iyer
      Status: Patch Available  (was: Open)

Here is a brief summary of changes for this JIRA:

1. HTD will be stored in HDFS in .tableinfo file under the table folder.
2. HTD removed from HRI
3. Bootstrap creates ROOT and META with out HTD in HRI. (for all fresh setup/startup. This
process will
   also set a flag in -ROOT- called metamigrated and set it to true to indicate that the system
   new HRI's with out HTD.)
4. HRegion.createHRegion stores HTD in HDFS. (Master also stores HTD in HDFS during table
   but it seems redundant and will be removed).
5. New HRegion instances will load the HTD of the table from HDFS.   
6. AssignmentManager maintains an in-memory map of <tableName, HTD> that gets modified
during table 
   manipulations (such as modifyTable, AddFamily, DeleteFamily etc) as well as during user
7. All schema operations such as modifyTable, AddFamily, DeleteFamily et al will result in
   changes to HTD on HDFS (.tableinfo changes).
8. For existing installations:
		If the system is not updated (metamigrated is False or NULL in -ROOT-) to support HRI with
out HTD, then
		HMaster at startup (before assigning ROOT and META) does 1-3 else jumps to 4.
		1. Creates new .tableInfo files for all tables in the system (based on -ROOT- and .META.
		2. Updates existing META.HRI (with HTD) with the new version of HRI (with out HTD).
		3. Sets a flag in -ROOT- (metamigrated) to record this process and to avoid duplicate processing.
		4. Continue with regular startup.
9. Appropriate changes to source and test files to work with new HRI structure with out HTD.

> Remove HTableDescriptor from HRegionInfo
> ----------------------------------------
>                 Key: HBASE-451
>                 URL: https://issues.apache.org/jira/browse/HBASE-451
>             Project: HBase
>          Issue Type: Improvement
>          Components: master, regionserver
>    Affects Versions: 0.2.0
>            Reporter: Jim Kellerman
>            Assignee: Subbu M Iyer
>            Priority: Critical
>             Fix For: 0.92.0
>         Attachments: HBASE-451_-_First_draft_support_for_removing_HTD_from_HRI1.patch
> There is an HRegionInfo for every region in HBase. Currently HRegionInfo also contains
the HTableDescriptor (the schema). That means we store the schema n times where n is the number
of regions in the table.
> Additionally, for every region of the same table that the region server has open, there
is a copy of the schema. Thus it is stored in memory once for each open region.
> If HRegionInfo merely contained the table name the HTableDescriptor could be stored in
a separate file and easily found.

This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

View raw message