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

Remove the concept of 'special tables' from rsgroups

    XMLWordPrintableJSON

Details

    Description

      Regionserver groups needs to specially handle what it calls "special tables", tables upon which core or other modular functionality depends. They need to be excluded from normal rsgroup processing during bootstrap to avoid circular dependencies or errors due to insufficiently initialized state. I think we also want to ensure that such tables are always given a rsgroup assignment with nonzero servers. (IIRC another issue already raises that point, we can link it later.)

      Special tables include:

      • The system tables in the 'hbase:' namespace
      • The ACL table if the AccessController coprocessor is installed
      • The Labels table if the VisibilityController coprocessor is installed
      • The Quotas table if the FS quotas feature is active

      Either we need a facility where "special tables" can be registered, which should be in core. Or, we institute a blanket rule that core and all extensions that need a "special table" must put them into the 'hbase:' namespace, so the TableName#isSystemTable() test will return TRUE for all, and then rsgroups simply needs to test for that.

      Attachments

        1. HBASE-20595.patch
          9 kB
          Andrew Kyle Purtell
        2. HBASE-20595.patch
          9 kB
          Andrew Kyle Purtell
        3. HBASE-20595-branch-1.patch
          11 kB
          Andrew Kyle Purtell

        Issue Links

          Activity

            People

              apurtell Andrew Kyle Purtell
              apurtell Andrew Kyle Purtell
              Votes:
              0 Vote for this issue
              Watchers:
              9 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: