[
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