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

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

VotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    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

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

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

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment