Details

    • Hide
      HBase contains two quota scopes: MACHINE and CLUSTER. Before this patch, set quota operations did not expose scope option to client api and use MACHINE as default, CLUSTER scope can not be set and used.
      Shell commands are as follows:
      set_quota, TYPE => THROTTLE, TABLE => 't1', LIMIT => '10req/sec'

      This issue implements CLUSTER scope in a simple way: For user, namespace, user over namespace quota, use [ClusterLimit / RSNum] as machine limit. For table and user over table quota, use [ClusterLimit / TotalTableRegionNum * MachineTableRegionNum] as machine limit.
      After this patch, user can set CLUSTER scope quota, but MACHINE is still default if user ignore scope.
      Shell commands are as follows:
      set_quota, TYPE => THROTTLE, TABLE => 't1', LIMIT => '10req/sec'
      set_quota, TYPE => THROTTLE, TABLE => 't1', LIMIT => '10req/sec', SCOPE => MACHINE
      set_quota, TYPE => THROTTLE, TABLE => 't1', LIMIT => '10req/sec', SCOPE => CLUSTER
      Show
      HBase contains two quota scopes: MACHINE and CLUSTER. Before this patch, set quota operations did not expose scope option to client api and use MACHINE as default, CLUSTER scope can not be set and used. Shell commands are as follows: set_quota, TYPE => THROTTLE, TABLE => 't1', LIMIT => '10req/sec' This issue implements CLUSTER scope in a simple way: For user, namespace, user over namespace quota, use [ClusterLimit / RSNum] as machine limit. For table and user over table quota, use [ClusterLimit / TotalTableRegionNum * MachineTableRegionNum] as machine limit. After this patch, user can set CLUSTER scope quota, but MACHINE is still default if user ignore scope. Shell commands are as follows: set_quota, TYPE => THROTTLE, TABLE => 't1', LIMIT => '10req/sec' set_quota, TYPE => THROTTLE, TABLE => 't1', LIMIT => '10req/sec', SCOPE => MACHINE set_quota, TYPE => THROTTLE, TABLE => 't1', LIMIT => '10req/sec', SCOPE => CLUSTER

    Description

      There are two kinds of quota scope: CLUSTER and MACHINE. CLUSTER quota means quota limit is shared by all machines of cluster. MACHINE quota means quota limit is used by single region server.

      Currently, all set quota operations use MACHINE scope as default and CLUSTER scope has not been implemented. So open this issue to implement CLUSTER quota scope.

      To split cluster quota limit to machines, the basic idea is for user, namespace, user over namespace quota, use [ClusterLimit / RSNum] as machine limit. For table and user over table quota, use [ClusterLimit / TotalTableRegionNum * MachineTableRegionNum] as machine limit. Suggestions are welcomed.

      Attachments

        1. HBASE-21820.master.001.patch
          96 kB
          Yi Mei
        2. HBASE-21820.master.002.patch
          97 kB
          Yi Mei
        3. HBASE-21820.master.003.patch
          92 kB
          Yi Mei
        4. HBASE-21820.master.004.patch
          91 kB
          Yi Mei
        5. HBASE-21820.master.005.patch
          88 kB
          Yi Mei
        6. HBASE-21820.master.006.patch
          91 kB
          Yi Mei
        7. HBASE-21820.master.007.patch
          91 kB
          Yi Mei

        Issue Links

          Activity

            People

              meiyi Yi Mei
              meiyi Yi Mei
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: