[ https://issues.apache.org/jira/browse/HBASE-23055?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Michael Stack updated HBASE-23055: ---------------------------------- Release Note: Adds being able to edit hbase:meta table schema. For example, hbase(main):005:0> disable 'hbase:meta' Took 0.7362 seconds hbase(main):006:0> alter 'hbase:meta', {NAME => 'info', DATA_BLOCK_ENCODING => 'ROW_INDEX_V1'} Updating all regions with the new schema... All regions updated. Done. Took 1.2138 seconds hbase(main):007:0> enable 'hbase:meta' Took 0.7370 seconds Queries of hbase:meta table state go via a new addition to the HBase Registry. Default implementation is for hbase:meta table to be ENABLED. Adds an implementation to ZKAsyncRegistry that queries zk mirrored table state (See MirroringTableStateManager). If Master crashes while hbase:meta is disabled, on new Master, hbase:meta will be enabled again. Known issues are: is if you try to describe tables while hbase:meta is offline, you'll get scanner timeout as we read all table descriptors even if we only want one (TODO: refactor how descriptor is done); when hbase:meta is offline, other requests to meta will fail(no duh!). This feature will add some load to the zk ensemble as it now fields requests for hbase:meta table state (mitigated some by a cache of table state added to Connection). was: Adds being able to edit hbase:meta table schema. For example, hbase(main):005:0> disable 'hbase:meta' Took 0.7362 seconds hbase(main):006:0> alter 'hbase:meta', {NAME => 'info', DATA_BLOCK_ENCODING => 'ROW_INDEX_V1'} Updating all regions with the new schema... All regions updated. Done. Took 1.2138 seconds hbase(main):007:0> enable 'hbase:meta' Took 0.7370 seconds Queries of hbase:meta table state go via a new addition to the HBase Registry. Default implementation is for hbase:meta table to be ENABLED. Adds an implementation to ZKAsyncRegistry that queries zk mirrored table state (See MirroringTableStateManager). Known issue is if you try to describe tables while hbase:meta is offline, you'll get scanner timeout as we read all table descriptors even if we only want one (TODO: refactor how descriptor is done). When hbase:meta is offline, other requests to meta will fail. If Master crashes while hbase:meta is disabled, on new Master, hbase:meta will be enabled again. > Alter hbase:meta > ---------------- > > Key: HBASE-23055 > URL: https://issues.apache.org/jira/browse/HBASE-23055 > Project: HBase > Issue Type: Task > Reporter: Michael Stack > Assignee: Michael Stack > Priority: Major > Fix For: 3.0.0, 2.3.0 > > > hbase:meta is currently hardcoded. Its schema cannot be change. > This issue is about allowing edits to hbase:meta schema. It will allow our > being able to set encodings such as the block-with-indexes which will help > quell CPU usage on host carrying hbase:meta. A dynamic hbase:meta is first > step on road to being able to split meta. -- This message was sent by Atlassian Jira (v8.3.4#803005)