[ 
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 supports 
   new HRI's with out HTD.)
4. HRegion.createHRegion stores HTD in HDFS. (Master also stores HTD in HDFS 
during table creation, 
   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 region 
   assignments.
7. All schema operations such as modifyTable, AddFamily, DeleteFamily et al 
will result in appropriate
   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. scan)
                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

Reply via email to