Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-23055

Alter hbase:meta

    XMLWordPrintableJSON

    Details

    • Type: Task
    • Status: Reopened
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: 3.0.0
    • Component/s: None
    • Labels:
      None
    • Hadoop Flags:
      Reviewed
    • Release Note:
      Hide
      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

      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.

      Also has queries of table state go via the Master now since it knows status for user-space and system-space tables. Previous it would ask the RS carrying hbase:meta directly; i.e. client presumed implementation.
      Show
      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 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. Also has queries of table state go via the Master now since it knows status for user-space and system-space tables. Previous it would ask the RS carrying hbase:meta directly; i.e. client presumed implementation.

      Description

      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.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                stack Michael Stack
                Reporter:
                stack Michael Stack
              • Votes:
                0 Vote for this issue
                Watchers:
                13 Start watching this issue

                Dates

                • Created:
                  Updated: