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

Remove hbase:namespace table; fold it into hbase:meta

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 3.0.0-alpha-1
    • meta
    • None
    • Incompatible change, Reviewed
    • Hide
      Add a new family called 'ns' for meta table and store the namespace related information in it instead of in namespace table. When rolling upgrading from a version which has namespace table, we will automatically migrate the data in namespace table to the 'ns' family of meta table, and then disable the namespace table. You can delete the namespace table later via the Admin interface.
      The ZKNamespaceManager is also removed, as we never use its pub/sub ability in HBase.
      Show
      Add a new family called 'ns' for meta table and store the namespace related information in it instead of in namespace table. When rolling upgrading from a version which has namespace table, we will automatically migrate the data in namespace table to the 'ns' family of meta table, and then disable the namespace table. You can delete the namespace table later via the Admin interface. The ZKNamespaceManager is also removed, as we never use its pub/sub ability in HBase.

    Description

      Namespace table is a small system table. Usually it has two rows. It must be assigned before user tables but after hbase:meta goes out. Its presence complicates our startup and is a constant source of grief when for whatever reason, it is not up and available. In fact, master startup is predicated on hbase:namespace being assigned and will not make progress unless it is up.

      Lets just add a new 'ns' column family to hbase:meta for namespace.

      Here is a default ns table content:

      hbase(main):023:0* scan 'hbase:namespace'
      ROW                                                                                                      COLUMN+CELL
       default                                                                                                 column=info:d, timestamp=1526694059106, value=\x0A\x07default
       hbase                                                                                                   column=info:d, timestamp=1526694059461, value=\x0A\x05hbase
      

      Attachments

        1. HBASE-21154.patch
          111 kB
          Duo Zhang
        2. HBASE-21154-v1.patch
          126 kB
          Duo Zhang
        3. HBASE-21154-v2.patch
          132 kB
          Duo Zhang
        4. HBASE-21154-v4.patch
          137 kB
          Duo Zhang
        5. HBASE-21154-v5.patch
          136 kB
          Duo Zhang
        6. HBASE-21154-v6.patch
          143 kB
          Duo Zhang
        7. HBASE-21154-v7.patch
          143 kB
          Duo Zhang

        Issue Links

          Activity

            People

              zhangduo Duo Zhang
              stack Michael Stack
              Votes:
              0 Vote for this issue
              Watchers:
              21 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: